当前位置:  开发笔记 > 编程语言 > 正文

自动初始化局部变量

如何解决《自动初始化局部变量》经验,为你挑选了1个好方法。

我有以下代码片段.

int j;
printf("%d",j);

正如预期的那样,我得到了垃圾值.

32039491

但是当我在上面的代码片段中包含一个循环时,就像

int j;
print("%d",j);
while(j);

我在该程序的多次试验中得到以下输出.

0

我一直认为局部变量默认初始化为垃圾值,但看起来变量在使用循环时会自动初始化.



1> Sourav Ghosh..:

它具有不确定的价值.它可以是任何东西.

引用C11§6.7.9

如果未显式初始化具有自动存储持续时间的对象,则其值不确定.[...]

除非显式初始化,否则自动局部变量将包含不确定的值.如果您尝试使用变量,同时它保持不确定的值

没有地址

可以有陷阱表示

用法将导致 未定义的行为.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有