C语言:用int a[4]=(1,2);对数组进行初始化后,数组元素a[3]的值是

C语言:用int a[4]=(1,2);对数组进行初始化后,数组元素a[3]的值是
A。随机值 B,0 C,1 D,F
为啥选B,求大神解释

是0,“当给定的初值的个数少于数组元素的个数时,则从第一个元素开始使用给定的初值进行初始化,给定的初值匹配完成后,剩下的元素(未指定初值的元素)都初始化为0”也就是说a[2]和a[3]都是等于0追问

谢谢!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-15
第一题:0 初始化之后,除了定义了值的,其余都为0(int的默认为0)
第二题: x,10,(x,10)算一个,你看一下逗号运算符,还有函数算一个
第2个回答  2014-06-15
0,好像数组没有初始化的话默认是0,指针指的是随机的追问

求解释。

第3个回答  2014-06-15
随机值为 B,0追问

求解释。

追答

数组在定义时初始化,没被没被赋值的默认赋值为0
一般在写程序的时候一定要初始化,一个不漏,否则很容易出错。

追问

好的, 谢谢

第4个回答  2014-06-15
B,,,,,,,,,,,,,,,,,,,追问

求解释。

追答

int a[]={1,2,3}; 这种方式初始化,大括号里写了几个元素那么数组里就有几个元素,
相当于int a[3]={1,2,3}

int a[3]={0};
这样是将a中的所有元素初始化为0;
int a[4]={1,2}; 这样是将a[0]初始化为1,a[1]初始化为2,其他的初始化为0

追问

还有下面那题,大神。

追答

这个就记住逗号隔开的就是参数,别管那些带括号晃人的

本回答被提问者采纳
相似回答