【发布时间】:2016-05-26 22:26:59
【问题描述】:
当我输入一些字符时,这个程序会打印一条消息。当我输入两个字符时,它会打印两次hello world,当输入aaaaa 时,会打印五个hello world 消息,依此类推!为什么?
int _tmain(int argc, _TCHAR* argv[])
{
char nnn;
do {
cout << "hello world" << endl;
cin >> nnn;
} while ((nnn != 'y'));
return 0;
}
结果如下:
hello world
d
hello world
ffff
hello world
hello world
hello world
hello world
y
【问题讨论】:
-
您希望发生什么?
-
我预计它只会发布一句话。
-
您确实输入了 5 个非 'y' 字符,代码为每个字符打印
hello world(在开头加上一个)。 -
那么是否有另一个函数可以替换 'cin' 只读取整个输入而不是一个字符一个字符?
-
不确定您是指整个单词还是整行。例如,请参阅 taking input of a string word by word,其中包含两者的示例。
标签: c++ input while-loop user-input