Linux 环境下 C语言编程问题
在Linux环境下,C语言编译器会默认把变量初始化为0吗?如:编写代码:voidmain(){inta;if(0==a)a=2;elsea=8;printf("%d",a...
在Linux环境下,C语言编译器会默认把变量初始化为0吗?
如:编写代码:
void main()
{
int a;
if(0==a)
a=2;
else
a=8;
printf("%d",a);
}
结果会是什么呢?谢谢.
谢谢,你能帮助我.但是这是我去软件培训机构面试时,他们出的题,我把他们的问题抽象化了,据他们说a的初始值应该是0.这使我百思不得其解,最后本人可能是不是应为Linux环境下的C语言编译器默认会把没有初始化的变量初始为0呢?要么就是他们故意把答案给错了呢?呵呵...... 展开
如:编写代码:
void main()
{
int a;
if(0==a)
a=2;
else
a=8;
printf("%d",a);
}
结果会是什么呢?谢谢.
谢谢,你能帮助我.但是这是我去软件培训机构面试时,他们出的题,我把他们的问题抽象化了,据他们说a的初始值应该是0.这使我百思不得其解,最后本人可能是不是应为Linux环境下的C语言编译器默认会把没有初始化的变量初始为0呢?要么就是他们故意把答案给错了呢?呵呵...... 展开
2个回答
展开全部
明显不会
看你的运气,输出2,8都有可能
在栈中的一般不会初始化为0
在堆中动态申请的,或者静态的会初始化为0
看你的运气,输出2,8都有可能
在栈中的一般不会初始化为0
在堆中动态申请的,或者静态的会初始化为0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询