Devo estrarre un numero casuale tratto dal gruppo -> 6,10,14,18,22 senza usare particolari funzioni e neanche degli array, solo la funzione (s)rand e dei controlli.
Ho scritto questo:
Codice: Seleziona tutto
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int check();
int i;
int main(){
int number=0;
number=check();
printf("Numero estratto: %d\n", number);
return 0;
}
int check(){
srand(time(NULL));
i = 6+rand()%22;
if (i==6 || i==10 || i==14 || i==18 || i==22){return i;}
else {return check();}
}Codice: Seleziona tutto
muller:~/temp# gcc 5.14-c.c
muller:~/temp# ./a.out
Numero estratto: 22
muller:~/temp# ./a.out
Numero estratto: 18
muller:~/temp# ./a.out
Numero estratto: 18
muller:~/temp# ./a.out
Numero estratto: 22
muller:~/temp# ./a.out
Segmentation fault
muller:~/temp# ./a.out
Numero estratto: 14
..
muller:~/temp# ./a.out
Segmentation fault
muller:~/temp# ./a.out
Segmentation fault
...
