了解计数char变量的C ++问题

时间:2018-10-17 19:10:59

标签: c++ c++11

我编写了一个程序,该程序应该打印输入的字符数,直到打到“#”字符为止。我不明白的是,当我在控制台中输入多个字符(例如“ 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";

1 个答案:

答案 0 :(得分:1)

  

为什么在一次迭代中计算所有字符而不是1?

不是。您可以通过在循环中稍微更改输出来验证这一点。

while (ch != '#')
{
   ++count;
   cout << "ch: " << ch << ", count: " << count << endl;
   cin.get(ch); // use it again
}