1. N è dichiarato ma non inizializzato e pertanto il suo valore non è definito.Originariamente inviato da gledi
codice:#include <stdio.h> #include <math.h> int i,N; main() { double a , b , delta; double x[N]; printf("dammi il numero degli intervallini\n"); printf("-----------\n"); scanf("%d",&N);
2. In C non è permesso dichiarare un array in questo modo. E anche se si potesse, come hai scritto tu è sbagliato in quanto PRIMA crei un array di dimensione indefinita e POI valorizzi N. Se vuoi creare l'array a run time dovresti usare malloc/calloc (e free).
Oppure, se conosci la dimensione a compile time definisci N tramite una direttiva per il preprocessore:
3. Il main DEVE avere valore di ritorno intero.codice:#define N 10 ... double x[N];