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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
这个就像你和老外聊天一样,ARM本身的语言通过翻译(交叉编译器)才能和计算机对话,这个叫交叉编译,没事多看看相关的书吧,你这个问题过于基础了,一点不显得专业,去启扬智能的网站看看,了解了解ARM的硬件知识。...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询