01: // Variable Length Array: problema durata automatica
02: #include<stdio.h>
03: #include<stdlib.h>
04:
05: // nelle intenzioni, genero n lanci di un dado e restituisco il relativo valore
06: int *genera_array_lanci(int n)
07: {
08:
09: int v[n];
10:
11: for(int i=0; i<n; ++i)
12: v[i] = rand()%6 + 1;
13:
14: printf("DEBUG: restituisco indirizzo %p\n", v);
15: return v;
16: } // l'array v[] e' locale alla funzione. Viene quindi distrutto quando la funzione termina. Quindi l'indirizzo di memoria restituito non e' piu' utilizzabile
17:
18: int main(int argc, char **argv){
19:
20: int n;
21:
22: printf("Quanti lanci di dado vuoi simulare? ");
23: scanf("%d", &n);
24:
25: int *lanci = genera_array_lanci(n);
26:
27: printf("DEBUG: la funzione ha restituito l'indirizzo %p\n", lanci);
28: printf("Hai ottenuto i seguenti valori: ");
29: for(int i=0; i<n; ++i)
30: printf(" %d", lanci[i]);
31:
32: printf("\n");
33:
34: return 0;
35: }
36:
37:
Se avete commenti o osservaƶioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it