C语言:声明整型数组a[10]并初始化,下面哪个选项正确(写出错误原因和最终结果)?

A. int a[10]=(0,0,0,0);
B. int a[10]={};
C. int a[10]={0};
D. int a[10]={10*1};

C和D都是正确的,详细如下:
A. =号右边不能用()而要用{},所以错。
B. {}中不能空着,至少要有一个数,所以错。
C. 正确;10个元素全部被初始化为整数0。
D. 正确;a[0]被初始化为整数10,a[1]~a[9]被初始化为整数0。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-09-14
长短不一就选C(A肯定错的,大括号,B啥都没有,没法初始化,D会将十个数初始化为10)
第2个回答  2021-09-15
C
A括号用法不对,
B这样写没有给元素初始化
C勉强可以,
D给元素初始化成10
第3个回答  2021-09-14
实际上四个都无法完整初始化数组,C是能编译通过但是也不对。这本书有点垃圾,答案也不对
相似回答