質問: (double **)malloc(sizeof(double *) * n); if (sp==NULL) exit(1); for (i=0; i
回答: ざっと流し読みしましたが、とりあえず `sp`などが`double`として宣言されている割には `sp = (double )malloc(sizeof(double *) * n);` と`double*`n個分の領域を確保しているので、 多分、意図するところは ``` double **sp; ... sp = (double**)malloc(sizeof(double *) * n); ``` では? もっと言えば多分二次元配列の動的確保をしたいのでしょうから このあたりを参考にどうぞ。