質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

解決済

コアダンプしてしまう

yu_89
yu_89

総合スコア29

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

2回答

0評価

1クリップ

244閲覧

投稿2022/07/13 08:03

解決したいこと

C言語で下記のテキストファイルのような二次元配列のファイルを読み込んで配列に格納して、特定の行を別のファイルに出力しようとしているのですが、実行しようとするとコアダンプしてしまいます。
何が原因なのでしょうか。分かる方いましたら、ご教授のほど、よろしくお願いします。

発生している問題・エラーメッセージ

$ gcc -o display display.c $ ./display Segmentation fault (コアダンプ)

テキストファイル

display.txt

1 2 3 4 5 ... 1021 1022 1023 1024 11 12 13 ... 1031 1032 1033 1034         .         .         .      

該当のソースコード

display.c

#include <stdio.h> #include <stdlib.h> int main() { int i, j, N = 1024; double a[N][N]; FILE *fp; fp = fopen("display.txt", "r"); if(fp == NULL) { printf("ファイルが開けません。\n"); exit(1); } for(i = 0; i < N; i++) { for(j = 0; j < N; j++) { fscanf(fp, "%lf", &a[i][j]); printf("%f", a[i][j]); } printf("\n"); } fclose(fp); fp = fopen("row2.txt", "w"); for(i = 0; i < N; i++) { fprintf(fp, "%f\n", a[1][i]); } fclose(fp); return 0; }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

melian

2022/07/13 08:56

gcc であれば、-fsplit-stack オプションを付けてコンパイルするとよいかもしれません。
yu_89

2022/07/14 02:34

ご回答いただき、ありがとうございます。 なるほど!そういうやり方もあるんですね!試してみます! ありがとうございます!

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。