程序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]