我是 C++ 的新手,但这是我的代码:
#include <iostream>
using namespace std;
int main() {
int x;
cin >> x;
cout << "x = " << x << endl;
system("pause");
return 0;
}
每当我输入字母时,它总是打印x = 2
。我知道我应该输入数字,但为什么是“2”?
最佳答案
因为你有未定义的行为。您应该永远不要在没有先检查输入是否成功的情况下使用任何输入值。在输入失败时访问输入值(如果您为 int 输入 alpha,它会这样做)将使该值保持其先前的状态——如果您从未以其他方式初始化它,则未初始化(并且访问未初始化的值是未定义的行为)。
关于c++ - 为什么这个 C++ 程序打印 "2"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16605427/