69,382
社区成员
发帖
与我相关
我的任务
分享
以下能对一维数组a进行正确初始化的语句是( )
A)int a[10]=(0,0,0,0,0); B)int a[10]={};
C)int a[]={0}; D)int a[10]={10*1};
数组初始化:
a[数组元素个数]={各元素的值用,连接}
A 写成括号不对
B {}中没写值,不对
C 正确,数组直接赋初值可以不标数组元素个数,会根据后面赋值个数自动分配空间
D 正确,但要注意这样写只是给a[0]赋值10,其余的9个赋值为0,而不是将十个都赋值成1
追问
我感觉D也对,但是这个是单选,答案是C,B我想让数组全空也不能像B那样,要写个0对么
回答
D确实对,但单选的时候最好选C
因为揣摩出题者的意图,他想考察的是能不能用*给数组内全部元素赋值(比如5*2,把数组中5个元素都赋值为2),但他没有考虑周全,造成题目漏洞
在VC++6.0编译器中D选项能够正确编译(等价于int a[10]={10})