93. 以下数组定义中,正确的是( )。 A. int a[2][3]={1,2,3,4,5,6,7}; B. int a[][]={{1,2,3},{4,5,6},{7,8,9}}; C. int a[2][]= {1,2,3,4,5,6}; D. int a[][4]= {6}; 我感觉ABCD都错啊不知道选哪个
包小龙虾
浏览 2111回答 3
3回答
onemoo
D 是正确的。虽然这样声明没有指明 a 后面第一个中括号的大小,不过编译器会根据初始化列表来自动决定。列表中只有一个数字 6,这样 int a[1][4] 就能满足了,编译器就推断出中括号里的大小为 1。而初始化列表中元素个数不足数组大小时,数组中那些多出来的元素的初值是默认的 0,所以 a 中的初值就是 {6, 0, 0, 0}。B 中那样声明 a 时,第二个中括号不能留空。C 中也是同样,后面的中括号都不能留空。