回答編集履歴
1
参考コードを修正
answer
CHANGED
@@ -18,9 +18,9 @@
|
|
18
18
|
```C
|
19
19
|
while (1) {
|
20
20
|
cf = fgetc(f);
|
21
|
+
if (cf == EOF) break;
|
22
|
+
|
21
23
|
cg = fgetc(g);
|
22
|
-
|
23
|
-
if (cf == EOF) break;
|
24
24
|
if (cg == EOF) break;
|
25
25
|
|
26
26
|
id (cf != cg) break;
|
@@ -55,6 +55,9 @@
|
|
55
55
|
ループ脱出直後の「一致しても、不一致でも、ここを通る」箇所で、どっちだったのかわからないと困るよね。当たり前だけど笑。
|
56
56
|
よくやる手はフラグ変数を使うこと。一致か不一致か、有るか無いか、表か裏か、、、といった区別をつける変数がフラグだ。ループの途中で不一致が確定する、のであるから、ループに入る前は一致するという値を持ってループを開始し、不一致が確定した時点で
|
57
57
|
```C
|
58
|
+
フラグ = 一致;
|
59
|
+
while (1) {
|
60
|
+
....
|
58
61
|
if (cf != cg) { フラグ = 不一致; break; }
|
59
62
|
```
|
60
63
|
そして、ループから抜けた時点でフラグの値を調べれば一致・不一致がわかるという仕掛け。
|