Ciao a tutti, sto lavorando in C. In pratica a me serve allocare la memoria di un array dinamicamente sino a quando non si inserisce -1, e scriverci all'interno del vettore. L'allocazione della memoria funziona, solo che quando vado a scrivere nell'area di memoria appena allocata si crea un ciclo infinito. Ecco il codice:
1. #include <stdio.h>
2. #include <stdlib.h>
3. int main() {
4. int *v = NULL;
5. int i, val;
6. int size = 0;
7. do {
8. system("cls");
9. printf ("\n Inserire un nuovo elemento nell'array (-1 per terminare): ");
10. scanf ("d", &val);
12. v = (int*) realloc( v, (++size)*(sizeof(int)) );
13. v[size-1] = val;
14. } while (val != -1);
15. printf (" Elementi nell'array: ");
16. for ( i=0; i < size; i++ )
17. printf ("%d, ", v[i]);
18. free(v);
19. return 0;
20. }
Sapreste aiutarmi? Aspetto il vostro aiuto. Grazie.