Salve, stavo cercando di fare un programma e una volta avviato si verifica un errore (il programma ha smesso di funzionare).![]()
Questo non è tutto il codice ma tanto si blocca prima di arrivare al printf, però con una piccolissima modifica, sostituendo ad uno qualsiasi degli array la grandezza da 'n' ad un numero qualsiasi, il programma funziona correttamente.codice:#include <stdio.h> int main() { int n; char c_bit1[n]; char c_bit2[n]; int bit1[n]; int bit2[n]; int c; printf("inserire il numero di bit di ogni numero\n"); scanf("%d", n);![]()
C'è per caso un insolito limite che non permette di inizializzare più di tre array con la grandezza impostata dalla stessa variabile??codice:#include <stdio.h> int main() { int n; char c_bit1[n]; char c_bit2[n]; int bit1[4]; int bit2[n]; int c; printf("inserire il numero di bit di ogni numero\n"); scanf("%d", n);
Grazie in anticipo![]()


Rispondi quotando
n "nasce" con un valore indeterminato (dipende da quello che è rimasto sullo stack), ed è con quello che vengono impostate le dimensioni di quegli array; poi ok, acquisisci un intero e lo metti in n, ma non serve a niente, gli array sono già stati dimensionati.