c语言定义数组int a[5]={1,2,3,4},这种情况a[4]的值是零吗?

如题所述

注意分清声明和定义的概念!!
int a[5];这是声明 这个时候 数组里面的内容是混乱随机的不是0 !
int a[5] = {1,2,3};这是定义 这个时候,对应位置的内容被初始化 其他没有设值的,被编译器补成0了。追问

我还有两道题能问一下你吗

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-20
对呀,没有初始化。默认为0追问

也就是说定义的长度比实际元素大,后面都补0吗

追答

对呀对呀

第2个回答  2016-04-20
对了,程序默认为0