[求助]为什么值会是2000多呢
main(){ int i,sum;
for(i=1;i<6;i++) sum+=i;
printf("%d\n",sum);
}
这个程序 为什么要加上 sum=0 才能正确输出 在定义的时候 sum的初始值不就是0吗?
----------------解决方案--------------------------------------------------------
sum 没有初值,当然输出个随机值了.
应该没有那本书上说int sum;sum 的初值就是0吧.
int 定义是没有初值的.
好象static sum; 会默认初值为0吧.
----------------解决方案--------------------------------------------------------
static int sum;
----------------解决方案--------------------------------------------------------
哦 我记的是0
----------------解决方案--------------------------------------------------------
不但用静态变量会初始为0,大多数编译器也把全局变量初始为0.
当然应当尽量不用全局变量,以免程序间的变量冲突。
其他情况,应该就为随机值了。
----------------解决方案--------------------------------------------------------