perche' diavolo questo programmino da nulla mi va in segmentation fault dopo che ho inserito il numero di punti?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
FILE *fp1;
int i,np;
printf("numero punti: ");
scanf("%d",&np);
double x[np],y[np];
// genera n punti casuali tra 0 e 1
srand(time());
for(i=0;i<np;i++){
x[i]=rand()/(RAND_MAX+1.0);
y[i]=rand()/(RAND_MAX+1.0);
if((fp1=fopen("punti","a"))==NULL){
perror("Errore apertura del file");
exit(1);
}
fprintf(fp1,"%le %le\n",x[i],y[i]);
fclose(fp1);
}
}