C++ 为什么程序在一台计算机上留下循环而不在另一台计算机上?

C++ 为什么程序在一台计算机上留下循环而不在另一台计算机上?,c++,visual-studio,C++,Visual Studio,我在我的电脑上做了一个简单的循环,它工作得很好。我在我的笔记本电脑上写了相同的程序(都是Visual Studio 2017),但在循环执行一次后,它没有重复 我还注意到,当我设置发布配置(而不是调试)时,程序运行得很好 谁能告诉我该怎么修理这个吗 整个计划: #include "pch.h" #include <iostream> #include <conio.h> int main() { while(char x = _getch()) {

我在我的电脑上做了一个简单的循环,它工作得很好。我在我的笔记本电脑上写了相同的程序(都是Visual Studio 2017),但在循环执行一次后,它没有重复

我还注意到,当我设置发布配置(而不是调试)时,程序运行得很好

谁能告诉我该怎么修理这个吗

整个计划:

#include "pch.h"
#include <iostream>
#include <conio.h>

int main()
{
    while(char x = _getch())
    {
        std::cout << x;
    }
    return 0;
}
#包括“pch.h”
#包括
#包括
int main()
{
while(char x=_getch())
{
std::cout来自_getch():

读取函数键或箭头键时,每个函数必须调用两次;第一次调用返回0或0xE0,第二次调用返回实际的键代码


这解释了为什么你的代码在一次迭代后退出循环。

conio.h,这是从哪里来的?
\u getch
也不是一个标准函数。
“pch.h”
?@SidS预编译头中有什么。@RobertAndrzejuk,D'Oh!我相信如果你按了一个特殊的键,比如箭头键,
\u getch()
可以返回0,然后下一次调用将返回所按的特殊键。可能是您误按了箭头键?