如果定义了int a[20]={0},那么数组中除了a[0]=0外,其他数组元素的值未知。 为什么是不正确的?

如题所述

语句a[20]={0}的作用是那20个数组元素的值全部赋值为0,如果大括号里面是其他的数值,则表示把大括号里的数值依次赋值给数组的第一个元素,第二个元素...(如果有的话), 剩余的元素赋值为0 , 比如 a[5] = {0}; 表示a[5] ={0,0,0,0,0}; a[5] = {2};表示a[5] = {2,0,0,0,0}; 而a[5] = {1,2,3}; 则表示a[5]={1,2,3,0,0};

如果定义时不进行赋值,则数组元素的数值都是随机的不可预期的数字;比如int a[5]; 那么这个数组的5个元素的值都不可预期,都是随机数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-02
a[20]={0}不仅表示a[0]=0,还表示数组中的其他元素都为0,如果a[20]={1}表示为a[0]=1,数组中的其他元素都为0,希望你能够理解
第2个回答  2012-06-03
int a[20]={0}表示是对a[0]赋值为0,而其他未赋值的数组元素系统会赋予一个默认值0,比如
a[5]={1}表示为a[0]=1,数组中的其他元素都为0
第3个回答  2012-06-02
一般数组自定义数值的时候,不定义的都默认为0;例子如楼上回答的。