質問編集履歴

2

エラーメッセージの変更

2022/06/22 08:24

投稿

K.M.PEANUTS
K.M.PEANUTS

スコア40

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  c言語で英単語とその和訳が書いてあるtxtファイルを読み込み、構造体に全て格納するプログラムを書きましたが、うまくいきません。コンパイルはできたのですが実行すると以下のエラーが出ます。
2
2
  ```txt
3
- zsh: illegal hardware instruction
3
+ zsh: segmentation fault
4
4
  ```
5
5
 
6
6
  問題点・改善点を教えてください。

1

コードの変更

2022/06/22 08:17

投稿

K.M.PEANUTS
K.M.PEANUTS

スコア40

test CHANGED
File without changes
test CHANGED
@@ -29,24 +29,28 @@
29
29
  i=0;
30
30
  int j=0, k=0;
31
31
  while((c = fgetc(fp)) != EOF) {
32
- if(c != ' ') {
32
+ while(c != ' ') {
33
33
  buf[i] = c;
34
34
  i++;
35
+ }
35
- } else {
36
+ buf[i] = '\0';
36
37
  i = 0;
37
- }
38
38
 
39
- if(buf[0] != ' ') {
39
+ if(buf[0] != '\0') {
40
40
  if(j==0) {
41
41
  strcpy(p[k].english, buf);
42
42
  j = 1;
43
43
  } else {
44
44
  strcpy(p[k].japanese, buf);
45
- j=0;
45
+ j = 0;
46
46
  k++;
47
47
  }
48
48
  memset(buf, '\0', sizeof(buf));
49
49
  }
50
+ }
51
+
52
+ for(i=0; i<20; i++) {
53
+ printf("%s %s\n", p[i].english, p[i].japanese);
50
54
  }
51
55
 
52
56
  fclose(fp);