这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [分享]C++小BUG大围剿(二)

共1条 1/1 1 跳转至

[分享]C++小BUG大围剿(二)

菜鸟
2006-11-25 03:50:16     打赏

程序2 典型的初始化问题

一个典型的数学问题就是从1一直加到100,下面这个程序用于完成此任务,但是其结果好像是错误的

1 /*************************************

2 *a program to sum the numbers from 1 to 100*

3 * using a brute force algorithm *

4 *************************************/

5 #include<isostream>

6

7 int main()

8 {

9 int sum; //the running sum

10 int count; //the current number

11

12 for(count=1;count<=100;++count)

13 sum+=count;

14

15 std::cout<<

16 “The sum of the numbers”<<

17 “between 1 and 100 is”<<

18 sum<<\n;

19 return(0);

20 }

答案[replyview]

答案:结果具有依赖性。要是能得到正确的结果说明你是幸运的,你得到一个随机数才是正常的,因为程序员没有初始化sum,你不能指望没有初始化的变量,它可能包含任何值,因此sum可能是以0开始,也可能是以678,457,9或任何其他的值。程序员应该写成:

9 int sum=0;

[/replyview]



关键词: 分享     围剿    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]