呆呆兽鸭 发表于 2020-7-15 21:42:06

for执行后为什么不能确认sum的值?

程序
main()
{
int i,sum;
for(i=1;i<6;i++) sum+=i;
printf("%d\n",sum);
}

zxm2735180 发表于 2020-7-15 21:50:20

你这sum没有初始值,所以不能确认sum的值

呆呆兽鸭 发表于 2020-7-15 21:53:58

zxm2735180 发表于 2020-7-15 21:50
你这sum没有初始值,所以不能确认sum的值

不会默认为0吗?

zxm2735180 发表于 2020-7-15 21:55:31

C语言中未赋值初值不是默认为0

呆呆兽鸭 发表于 2020-7-15 22:00:13

zxm2735180 发表于 2020-7-15 21:55
C语言中未赋值初值不是默认为0

好的,谢谢你!

zxm2735180 发表于 2020-7-15 22:00:42

C语言中变量不赋初值是不能”使用“的,这个”使用“是指读取变量的内容。因为未赋初值的变量中存储的数据是个随机值,其值不确定,
而随机值的产生原因是变量都是存储在内存中的。程序运行以后,会在内存中给各个变量安置住处,这些地方以前可能有别的程序用过,里面留有上次使用后的结果数据,但系统不负责分配空间,不会清理内容,需要编程者自己清理。程序退出时也不清理内容,这就造成了后来者进到这个空间,看到一堆垃圾数据。

永恒的蓝色梦想 发表于 2020-7-15 22:32:34

呆呆兽鸭 发表于 2020-7-15 21:53
不会默认为0吗?

全局变量是,局部变量不是。
页: [1]
查看完整版本: for执行后为什么不能确认sum的值?