teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

参考コードを修正

2019/11/15 02:25

投稿

rubato6809
rubato6809

スコア1382

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
  そして、ループから抜けた時点でフラグの値を調べれば一致・不一致がわかるという仕掛け。