次のプログラムがあります。
int main() {
int i;
while (cin >> i) {
cout << abs(i) << endl;
}
return 0;
}
(ここで、abs は int abs(int val) によって定義されます)
-1.2 などの int 以外の数値を入力すると、次の出力が得られます。
$ -1.2
1
私の質問は、なぜwhile本体が実行されるのですか? 非int値を入力するとすぐに条件が失敗し、プログラムが終了するはずだと思います。ありがとう!