int i, sum ;
for(i = 1; i <= 100; ++i)
{sum = sum + i;
}
printf("1到100的所有数之和为%d\n",sum);
总结:为啥sum的结果为5051
你觉得5051不是垃圾值吗
垃圾值之所以垃圾,就是因为没用啊
如果你不给变量赋初值,那么c语言会随便给它分配一个内存,并且不初始化
那么它到底是个什么值是不确定的,有可能开机之后就没有使用过,那就是0
也有可能是其它程序使用过的,残留了一堆不知道干什么的数据
如果一个算术结果不确定,那它就是个垃圾值,因为你没法拿来做任何用处
垃圾值之所以垃圾,就是因为不一定是什么值
所以不一样很正常,垃圾值是随机数
如果你想输出正确的值,就要将sum初始化为0
sum你没有初始化为0啊
int i, sum=0 ; sum要初始化
int i, sum=0 ;
for(i = 1; i <= 100; i++)
{sum = sum + i;
}
printf("1到100的所有数之和为%d\n",sum);