解決したいこと
C言語で下記のテキストファイルのような二次元配列のファイルを読み込んで配列に格納して、特定の行を別のファイルに出力しようとしているのですが、実行しようとするとコアダンプしてしまいます。
何が原因なのでしょうか。分かる方いましたら、ご教授のほど、よろしくお願いします。
発生している問題・エラーメッセージ
$ gcc -o display display.c $ ./display Segmentation fault (コアダンプ)
テキストファイル
display.txt
11 2 3 4 5 ... 1021 1022 1023 1024 211 12 13 ... 1031 1032 1033 1034 3 . 4 . 5 . 6
該当のソースコード
display.c
1#include <stdio.h> 2#include <stdlib.h> 3 4int main() 5{ 6 int i, j, N = 1024; 7 8 double a[N][N]; 9 10 FILE *fp; 11 12 fp = fopen("display.txt", "r"); 13 14 if(fp == NULL) 15 { 16 printf("ファイルが開けません。\n"); 17 exit(1); 18 } 19 20 for(i = 0; i < N; i++) 21 { 22 for(j = 0; j < N; j++) 23 { 24 fscanf(fp, "%lf", &a[i][j]); 25 printf("%f", a[i][j]); 26 } 27 printf("\n"); 28 } 29 30 fclose(fp); 31 32 fp = fopen("row2.txt", "w"); 33 34 for(i = 0; i < N; i++) 35 { 36 fprintf(fp, "%f\n", a[1][i]); 37 } 38 39 fclose(fp); 40 41 return 0; 42}
回答2件
あなたの回答
tips
プレビュー