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

回答編集履歴

1

質問文が変更されていたので、それに対応。

2015/03/29 14:27

投稿

katoy
katoy

スコア22328

answer CHANGED
@@ -17,10 +17,10 @@
17
17
  v.push_back(suji);
18
18
  }
19
19
  ```
20
- eof() が true になるのは、**最後の を読んだ後に さらに ifs >> suji を実行した後**です。
20
+ eof() が true になるのは、**最後の数字 を読んだ後に さらに ifs >> suji を実行した後**です。
21
- 質問文にある while の回り方の場合、 最後の 5 を読んだ後は まだ eof() は false です。
21
+ 質問文にある while の回り方の場合、 最後の 数字 を読んだ後は まだ eof() は false です。
22
22
  そして 次に ifs >> suji を実行したとき suji には値が設定されません。
23
- (suji の値は 5 のまま)
23
+ (suji の値は 最後の数字 のまま)
24
24
  値が設定されないことは 質問文の while を
25
25
  ```lang-cpp
26
26
  while(...) {
@@ -29,6 +29,6 @@
29
29
  }
30
30
  ```
31
31
  のようにして、実行してみるとよいです。
32
- 1 2 3 4 5 -999 と出力されるはずです。
32
+ .... -999 と出力されるはずです。
33
33
 
34
- while(ifs >> suji) とした場合は、5 を読んだ後 while の条件文の ifs >> suji が false になるので、while を抜けてくれます。
34
+ while(ifs >> suji) とした場合は、最後の数字を読んだ後 while の条件文の ifs >> suji が false になって、while を抜けてくれます。