本文介绍了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中的全局变量总是被初始化为零?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-18 13:01