本文介绍了C中的全局变量总是被初始化为零?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#include <stdio.h>
int a[100];
int main(){
printf("%d",a[5]);
return 0;
}
以上代码是否总是打印0或者是编译器特定的?
Does the above code always print '0' or is it compiler specific? I'm using gcc compiler and I got the output as '0'.
推荐答案
是的,所有<$ c $的成员都使用gcc编译器, c> a 保证初始化为0。
Yes, all members of a
are guaranteed to be initialised to 0.
从C89标准的3.5.7节开始
From section 3.5.7 of the C89 standard
这篇关于C中的全局变量总是被初始化为零?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!