Jan 28
vett (updated)
OK, non uscirò più di casa fin quando qualcuno non mi spiega questo:
#include <stdio.h> main() { int n, i, vetta[n], vettb[n], vettc[n]; printf("Immetti la lunghezza dei vettori: "); scanf("%d", &n); // immssione valori vettore A e B for (i=0; i<n; i++) { printf("Immetti il valore del vettore A posizione [%d]: ", i); scanf("%d", &vetta[i]); printf("Immetti il valore del vettore B posizione [%d]: ", i); scanf("%d", &vettb[i]); } // stampa vettore A for (i=0; i<n; i++) printf("vetta[%d]=%d ", i, vetta[i]); printf("\n"); // stampa vettore B for (i=0; i<n; i++) printf("vettb[%d]=%d ", i, vettb[i]); printf("\n"); }
stesso codice, compilato su due Linux diversi, risultato A:
sugo@vm:~/c$ ./esercizio7.1 Immetti la lunghezza dei vettori: 5 Immetti il valore del vettore A posizione [0]: 0 Immetti il valore del vettore B posizione [0]: 1 Immetti il valore del vettore A posizione [1]: 2 Immetti il valore del vettore B posizione [1]: 3 Immetti il valore del vettore A posizione [2]: 4 Immetti il valore del vettore B posizione [2]: 5 Immetti il valore del vettore A posizione [3]: 6 Immetti il valore del vettore B posizione [3]: 7 Immetti il valore del vettore A posizione [4]: 8 Immetti il valore del vettore B posizione [4]: 9 vetta[0]=9 vetta[1]=2 vetta[2]=4 vetta[3]=6 vetta[4]=8 vettb[0]=1 vettb[1]=3 vettb[2]=5 vettb[3]=7 vettb[4]=9
risultato B:
*siberia /home/sugo:==> ./es Immetti la lunghezza dei vettori: 5 Immetti il valore del vettore A posizione [0]: 0 Immetti il valore del vettore B posizione [0]: 1 Immetti il valore del vettore A posizione [1]: 2 Immetti il valore del vettore B posizione [1]: 3 Immetti il valore del vettore A posizione [2]: 4 Immetti il valore del vettore B posizione [2]: 5 Immetti il valore del vettore A posizione [3]: 6 Immetti il valore del vettore B posizione [3]: 7 Immetti il valore del vettore A posizione [4]: 8 Immetti il valore del vettore B posizione [4]: 9 vetta[0]=0 vetta[1]=2 vetta[2]=4 vetta[3]=6 vetta[4]=8 vettb[0]=1 vettb[1]=3 vettb[2]=5 vettb[3]=7 vettb[4]=9
perché nel primo caso (risultato A) vetta[0] = 9?
da capire :))
————
credo di aver capito.
forse il problema è nella dichiarazione dei vettori. se al posto di:
int n, i, vetta[n], vettb[n], vettc[n];
metto:
int n, i, vetta[10], vettb[10], vettc[10];
funziona come ci si aspetta.
per una sessione di debug carina vedere qui 🙂
No commentsNo Comments
Leave a comment