回答編集履歴

2

追加

2020/07/28 12:09

投稿

amiya
amiya

スコア1218

test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
- ```JAVA
27
+ ```C
28
28
 
29
29
  // char *n = 0;
30
30
 
@@ -37,3 +37,41 @@
37
37
  char a[8], b[205], c[106];
38
38
 
39
39
  ```
40
+
41
+
42
+
43
+ 追加?
44
+
45
+
46
+
47
+ ```C
48
+
49
+ while(strcmp(pos,"0") != 0){     /*0が入力されるまで検索を続ける*/
50
+
51
+
52
+
53
+ // 省略
54
+
55
+
56
+
57
+ printf("%d件見つかりました",flag);
58
+
59
+
60
+
61
+ infile_scanf("%s", pos);
62
+
63
+
64
+
65
+ }
66
+
67
+ ```
68
+
69
+ この最後の`infile_scanf("%s", pos);`は何でしょう?
70
+
71
+ 前半でファイルの読み込みは終わっているはずなのに、これでさらに読み込んでエラーが出る。
72
+
73
+ そのまま、whileに戻って、posの値は(おそらく)書き換わらないので、whileは回り続けて
74
+
75
+ 無限ループとなり、エラーが出続ける。
76
+
77
+ のだと思います。

1

追加

2020/07/28 12:09

投稿

amiya
amiya

スコア1218

test CHANGED
@@ -15,3 +15,25 @@
15
15
  そのほか、a,b,c等のポインタ変数も同様です。
16
16
 
17
17
  ポインタ変数は宣言しただけでは、領域は確保されません。
18
+
19
+
20
+
21
+
22
+
23
+ 例えばこんな風にするとか。
24
+
25
+
26
+
27
+ ```JAVA
28
+
29
+ // char *n = 0;
30
+
31
+ char n[20];
32
+
33
+
34
+
35
+ // char *a = 0, *b = 0, *c = 0;
36
+
37
+ char a[8], b[205], c[106];
38
+
39
+ ```