Ho un problema con questo programma dove mi viene chiesto di generare due numeri casuali tra 1 e 5 e altri due tra 2 e 10 tramite una funzione int.
non riesco a capire perché il primo valore che mi restituisce (ovvero x[0]) sia giusto mentre tutti gli altri sono sballati...
int* num_casuali();
int main() {
int i;
int *pa = NULL;
pa= num_casuali();
for (i=0; i<4; i++) {
printf("\n%d", *(pa+i));
}
}
int* num_casuali(){
int x[4],*pa,i;
long int seed;
seed=time(0);
srand48(seed);
for (i=0; i<2; i++) {
x[i]= 1+ lrand48()% 5;
printf("\n%d", x[i]);
}
for (i=2; i<4; i++) {
x[i]= 2+ lrand48()% 9;
printf("\n%d", x[i]);
}
pa=x;
return pa ;
}