C ++ проблема с пониманием подсчета переменных типа char - PullRequest
0 голосов
/ 17 октября 2018

Я написал программу, которая должна печатать количество введенных символов, пока оно не достигнет символа '#'.Чего я не понимаю, так это того, что когда я ввожу в консоль более одного символа (скажем «привет»), программа считает все символы за одну итерацию.почему он считает все символы за одну итерацию вместо 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 голосов
/ 17 октября 2018

почему он учитывает все символы за одну итерацию вместо 1?

Это не так.Вы можете убедиться в этом, изменив выходной бит в цикле.

while (ch != '#')
{
   ++count;
   cout << "ch: " << ch << ", count: " << count << endl;
   cin.get(ch); // use it again
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...