我用C ++编写了一个小程序,该程序应该从用户那里获得2个整数,并像这样打印出这两个整数的和。
#include <iostream>
int main(){
int a;
int b;
int c = a + b;
std::cin >> a;
std::cin >> b;
std::cout << c;
return 0;
}
但是每次我运行程序时,我都可以键入两个整数,但是得到的答案始终是65538
:
> 1
> 1
65538
我该如何解决?
更改为...
#include <iostream>
int main(){
int a;
int b;
int c;
std::cin >> a;
std::cin >> b;
c = a + b; //let c be the sum of a and b
std::cout << c; //print c
return 0;
}
c
由于c
未初始化,因此显示为65538 。分配了一个随机垃圾值c
。最重要的是,你没有指定的值a + b
来c
打印,这就是为什么你得到的垃圾前值c
。
换句话说,如果您将变量初始化为(例如0),如下所示:
int a = 0;
int b = 0;
int c = 0;
您可能会得到0
而不是的信息,65538
因为这是c
您为其分配任何新值之前的原始值。
我希望我使它足够简单,以使您了解出了什么问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句