这是求两数和的问题
我的算法如下
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
c=a+b;
cin >>a >>b;
cout <<"a+b=" <<c <<endl;
return 0;
}
答案永远只是一个数-***********
正确的算法是
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
cin >>a >>b;
c=a+b;
cout <<"a+b=" <<c <<endl;
return 0;
}
答案不用说了
所以我想问问。我的算法问题在哪。
最好能留下联系方式因为可能会用不懂的地方麻烦了。
我的QQ***********
Email jayroe@sina.com
參考答案:你的问题很简单,在进行加法 c = a + b 之前,你没有对变量a和b赋初值,而大多数编译器都不会初始化变量的,所以变量a和b初始值可能是一个不定数。在这种情况下的 a + b 没有任何意义啊。
int a, b, c;//由于这里没有对a,b,c赋初值,所以a,b,c的值我们不知道,假设a = 0xcccccccc, b = 0x***********, c = 0x***********
这时候
c = a + b; //a = 0xcccccccc + 0xcccccccc -> c = 0x***********
cin >>a >>b; //输入值,赋值给a和b,假设输入1, 2 -> a = 1, b = 2;
cout <<"a+b=" <<c <<endl; 输出c值 0x***********
这样的流程下来,输入的值,根本没有被使用到过,,你的加法只是产生在两个没有被赋值之前的变量的和,所以根本没有意义,至于运算结果嘛,就会根据编译器不同而不同