如何创建一个C++程序

王朝知道·作者佚名  2012-03-18
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

这是求两数和的问题

我的算法如下

#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***********

这样的流程下来,输入的值,根本没有被使用到过,,你的加法只是产生在两个没有被赋值之前的变量的和,所以根本没有意义,至于运算结果嘛,就会根据编译器不同而不同

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航