未初始化变量的价值是多少?
发布时间:2020-12-16 10:31:46 所属栏目:百科 来源:网络整理
导读:参见英文答案 (Why) is using an uninitialized variable undefined behavior?????????????????????????????????????7个 Possible Duplicate: 07001 我尝试了以下代码 #includestdio.hvoid main(){int i; printf('%d',i);} 结果给出了VC中的垃圾值,而tc中的
参见英文答案 >
(Why) is using an uninitialized variable undefined behavior?????????????????????????????????????7个
我尝试了以下代码 #include<stdio.h> void main() { int i; printf('%d',i); } 结果给出了VC中的垃圾值,而tc中的垃圾值为零. 接下来是一样的 #include<stdio.h> void main() { int i,j,num; j=(num>0?0:num*num); printf("n%d",j); } 上面代码的输出是什么? 解决方法
从技术上讲,未初始化的非静态局部变量的值是Indeterminate [Ref 1].
简而言之,它可以是任何东西.访问这样一个未初始化的变量会导致未定义的行为.[参考2] [参考1]
[参考2] C99第3.18节未定义的行为:
注意:强调我的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读