为什么sum会等于1啊?
不应该是等于0吗?是因为我没有在最前面加一个sum=0吗?
如果我不写sum=0的话是不是sum会默认等于1?
for循环语句不应该是不成立然后直接表达sum吗?
写了下代码(sum求和时没初始化)
#include <stdio.h> //定义头文件
int main() //主函数
{
int i,sum;
for(i=1;i<=10;i++){
sum = sum + i;
}
printf("%d",sum);
}
输出如图:
改正
将sum初始化后:
#include <stdio.h> //定义头文件
int main() //主函数
{
int i,sum=0;
for(i=1;i<=10;i++){
sum = sum + i;
}
printf("%d",sum);
}
输出结果正确:
sum应该是个随机值
比如我这边输出的就是16
sum没有被赋值,循环也没有进入,sum是取的随机值
光定义没有初始化, sum是内存里面的一个随机值, 碰巧是1和55罢了
sum未初始化,系统随机分配地址,打印的只是该地址上原先的内容