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);
1. N è dichiarato ma non inizializzato e pertanto il suo valore non è definito.
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:

codice:
#define N 10
...
double x[N];
3. Il main DEVE avere valore di ritorno intero.