C语言求助.高手请解答

来源:百度知道 编辑:UC知道 时间:2024/05/03 06:25:44
若有说明 int a [3] [4] = {0} ; 则下面的正确的叙述的是
A 只有元素 a [0] [0] 可得到初值 0
B 此说明语句不正确
C 数组a 中各元素都可得到初值,但其值不一定为0
D 数组a 中每个元素均可得到初值0
个人感觉AD 都正确可答案却是A 那D就是说错误的咯,那不是和A矛盾了么。? (A说只有元素 a [0] [0] 可得到初值 0 而D却说都可以得到
) 拜托C高人解释下,谢谢啦

选D

在定义数组时赋初值,当所赋初值个数少于数组元素个数时,后面元素会自动补以初值0。

D错误也就是说并不是每个元素都可得到初值0 而是只有a[0][0]可得到 也就是A正确

应该是D

答案选 D
a[0][0] 是被显式初始化,也就是人为的赋值;其它的都由系统隐式的初始化为0,也就是说,系统默认其它元素的值为 0 。

这样的,程序先开辟了12个int的空间,然后给第一个位置的值赋予0。
所以,只有第一个位置的值(a[0][0])得到了初值 其他的位置的值不一定是多少
d选项中 数组a 指的是a[x][y](0<=x<3,0<=y<4)的12个元素 其中 只有一个得到了初值

答案错了