为晚,我一直在做的C++进行全面审查,并跨越包含一段代码来执行以下操作:给std :: cin while循环给出了一个奇怪的结果
#include <iostream>
using namespace std;
int main()
{
int a, b;
while (cin >> a)
{
b+=a;
}
cout << b << endl;
return 0;
}
的代码片段似乎很简单:它将控制台的输入放入a中,并将其添加到b中,只要输入有效的输入即可。然而,每当我尝试运行带有空格的整数输入的程序时,它会给出一个非常大的负整数(-1218019327是最近的结果,当整个输入只包含数字'1'时)。只有当我修改代码没有给出正确的输出:
#include <iostream>
using namespace std;
int main()
{
int a, b;
while (cin >> a)
{
cout << a << endl;
b+=a;
}
cout << b << endl;
return 0;
}
为什么加入COUT语句更改我的代码的结果,所以操作装配(尚正)?
你是否真的用调试器完成了这一步? – MrEricSir