我编写了一个程序,该程序应该打印输入的字符数,直到打到“#”字符为止。我不明白的是,当我在控制台中输入多个字符(例如“ hello world”)时,程序会在一次迭代中计算所有字符。为什么在一次迭代中计算所有字符而不是1?
char ch;
int count = 0;
cout << "Enter characters; enter # to quit:\n";
cin.get(ch);
while (ch != '#')
{
cout << ch;
++count;
cin.get(ch); // use it again
}
cout << endl << count << " characters read\n";
答案 0 :(得分:1)
为什么在一次迭代中计算所有字符而不是1?
不是。您可以通过在循环中稍微更改输出来验证这一点。
while (ch != '#')
{
++count;
cout << "ch: " << ch << ", count: " << count << endl;
cin.get(ch); // use it again
}