gpt4 book ai didi

c++ - 为什么 'Do while' 循环会这样?

转载 作者:行者123 更新时间:2023-11-28 00:06:29 25 4
gpt4 key购买 nike

当我键入一些字符时,此程序会打印一条消息。当我输入两个字符时,它会打印 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

最佳答案

因为您正在读取 charcin >> nnn; 每次迭代都会读取一个字符,即它会遍历所有 fffff 中只是因为循环。当没有任何内容可读时,它会停止并等待您的进一步输入。

如果你想一次读取整个单词/行,你应该使用 operator>>/std::getlinestd::string

关于c++ - 为什么 'Do while' 循环会这样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35419061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com