for执行后为什么不能确认sum的值?
程序main()
{
int i,sum;
for(i=1;i<6;i++) sum+=i;
printf("%d\n",sum);
} 你这sum没有初始值,所以不能确认sum的值 zxm2735180 发表于 2020-7-15 21:50
你这sum没有初始值,所以不能确认sum的值
不会默认为0吗?
C语言中未赋值初值不是默认为0 zxm2735180 发表于 2020-7-15 21:55
C语言中未赋值初值不是默认为0
好的,谢谢你!
C语言中变量不赋初值是不能”使用“的,这个”使用“是指读取变量的内容。因为未赋初值的变量中存储的数据是个随机值,其值不确定,
而随机值的产生原因是变量都是存储在内存中的。程序运行以后,会在内存中给各个变量安置住处,这些地方以前可能有别的程序用过,里面留有上次使用后的结果数据,但系统不负责分配空间,不会清理内容,需要编程者自己清理。程序退出时也不清理内容,这就造成了后来者进到这个空间,看到一堆垃圾数据。 呆呆兽鸭 发表于 2020-7-15 21:53
不会默认为0吗?
全局变量是,局部变量不是。
页:
[1]