C语言二维数组赋值问题
下列二维数组初始化中,不正确的的是Aintb[][3]={{5,1},{8}};Bintb[2][3]={5,1,6,2,4};Cintb={5};Cintb[2][3]...
下列二维数组初始化中,不正确的的是
A int b[][3]={{5,1},{8}}; B int b[2][3]={5,1,6,2,4};
C int b={5}; C intb[2][3]={{5,1},{6,2},{4,3}};
若有说明 floata[5][4]={{2,3,4},{5,6,7},{8,9,1}};则下列关系式那个为真
A a[0]==2 B=[1][1]=3 C a[2]=={8,9,1} D a[4]=={0,0,0,0}
求推理过程
谢谢 展开
A int b[][3]={{5,1},{8}}; B int b[2][3]={5,1,6,2,4};
C int b={5}; C intb[2][3]={{5,1},{6,2},{4,3}};
若有说明 floata[5][4]={{2,3,4},{5,6,7},{8,9,1}};则下列关系式那个为真
A a[0]==2 B=[1][1]=3 C a[2]=={8,9,1} D a[4]=={0,0,0,0}
求推理过程
谢谢 展开
1个回答
展开全部
A对。等价于int b[2][3] = {{5, 1, 0}, {8, 0, 0}};
B对。等价于int b[2]3] = {{5, 1, 6}, {2, 4, 0}};
C对。等价于int b = 5才对。不过这不是二维数组了。
D错。int b[2][3]是2行3列,大的{}里面只能有2个{},也就是{ { }, { } }的样子。
---------
A假。a[0]类型是float *而不是float。
B假。a[1][1]是6
C假。因为a有4列,a[2]有4个元素{8, 9, 1, 0}。
D真。a[4]没有赋初值,所以全是0。
【不过说实话,C和D这种写法编译器是会报错的……】
B对。等价于int b[2]3] = {{5, 1, 6}, {2, 4, 0}};
C对。等价于int b = 5才对。不过这不是二维数组了。
D错。int b[2][3]是2行3列,大的{}里面只能有2个{},也就是{ { }, { } }的样子。
---------
A假。a[0]类型是float *而不是float。
B假。a[1][1]是6
C假。因为a有4列,a[2]有4个元素{8, 9, 1, 0}。
D真。a[4]没有赋初值,所以全是0。
【不过说实话,C和D这种写法编译器是会报错的……】
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询