c语言中 int a[2][3]={0}; 请问这句话为什么不正确,但是却可以给每个元素赋值?正确

c语言中
int a[2][3]={0};
请问这句话为什么不正确,但是却可以给每个元素赋值?正确的写法是什么呢?

第1个回答  2013-10-29
因为你申请的是一个2*3的数组,里面有6个元素,但你却只赋了一个值。追问

正确的批量赋值有办法只写一个数字吗。不用一个个写出来

追答

注意数组里面的是元素,如果都赋初值,可以用循环。

第2个回答  2013-10-29
定义的是二维数组,需要这样子赋值:
int a[2][3] = {{1,2,3},{2,3,4}};
a[2][3]表示a是一个2行3列的数组,有两行,每一行有三个元素,需要在花括号里边再加上花括号赋值。本回答被提问者采纳

c语言中 int a[2][3]={0}; 请问这句话为什么不正确,但是却可以给每个元...
因为你申请的是一个2*3的数组,里面有6个元素,但你却只赋了一个值。

C语言int a[3][2]={0};怎么理解
其实这个是进行一个初始化,你测试一下,如果你只定义了int a[3][2],但是你没有赋值的话,你输出 显示全部是乱码,但是int a[3][2]={0};的作用就是为这个3行2列的数组初始化为零,此时你在输出,那么就会显示是6个零了,再就是了,这个数组的最大的下标是2 1 因为从零开始的,你要...

c语言: 在定义int a[2][3];之后,对数组a的元素引用正确的有()。 A...
C相当于a[0][0]

C语言程序:double data[2][3]={0,0}; \/\/二维数组 请问这句话有语法...
没有语法错误。这种写法,会自动对数组进行赋值为零,相当于double data[2][3]={0};

若int*p[3],a[2][3];则p[0]=&a[1][2]这个赋值语句为何不对呢?谢谢
所以a[1]是数组的第一个元素,a[1]的类型为含3个int类型元素的数组,a[1][2]是a[1]的第2个元素,a[1][2]的类型是int变量,&a[1][2]的类型就是指向int类型变量的const指针 所以p[0]=&a[1][2]是在把一个指向int变量的const指针赋值给int类型的指针变量.在C语言中,这是合法的.不只是...

若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是D.a[1>...
【答案】:D 解析:C语言中数组下标是从0开始的,所以二维数组a[2][3]的第一维下标取值为0、1;第二维的下标取值为0、1、2,因而选项A)、B)、C)都是错误的,选项D)表示数组元素a[0][0]。

...int a[2][3]={{1,2,3}};哪个定义是正确的?为什么?
第二个正确 第一个如果写成{{1,2,3},{4,5,6}}就是对的了,不然给第一维赋值6个元素已经超出了数组容量3 第二个的内容其实是{{1,2,3},{0,0,0}},如果不显示赋值,数组的其他部分会自动初始化为0

C语言,一维数组已经赋值,然后再赋值的话,为什么就报错了呢?附图如下...
你第一次赋值就不对,这种赋值方式只能在声明初始化时,不能这样,数组是不能整体赋值的。int a[3]={1,2,3};这样是可以的,而像你那样不对。下面的for循环才是正确的赋值方式。

C语言,有如下定义: int a[2][3],(*pa)[3]=a;不是定义一个二维数组a么...
其实pa是一个指向(包含3个元素的)一维数组的指针,因此可以指向任何一个包含3个元素的一维数组 而a[2][3]是二维数组,可以看作是由a[0]和a[1]两个包含三个元素的一维数组组成,如a[0]就可以认为是包含a[0][0]、a[0][1]、a[0][2]三个元素的一维数组a[0]这样就可以理解pa=a的意义了...

C语言,有如下定义: int a[2][3],(*pa)[3]=a;不是定义一个二维数组a么...
其实pa是一个指向(包含3个元素的)一维数组的指针,因此可以指向任何一个包含3个元素的一维数组 而a[2][3]是二维数组,可以看作是由a[0]和a[1]两个包含三个元素的一维数组组成,如a[0]就可以认为是包含a[0][0]、a[0][1]、a[0][2]三个元素的一维数组a[0]这样就可以理解pa=a的意义了...

相似回答