c语言若有定义:int w[3][5];这一下不能正确表示该数组元素的表达式是?

程劲松

C语言若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式.

c语言若有定义:int w[3][5];这一下不能正确表示该数组元素的表达式是?

答案是B,因为w代表的是数组第0行的地址,而 *w取的是第0行第0列的地址A 等价于 w[0][3]B *(w+1)虽代表的是第一行的地址,但没有*(w+1)[4] 这种表示C 等价于 每1行第0列个数,即 w[1][0]D 等价于 w[0][1]

有定义:int w[3][5];,则以下不能正确表示该数组元素的表达式是

答案错了,应该是Bw[m][n]等价于*(*(w+m)+n)所以A是w[0][3]C是w[1][0]D是w[0][0]+1

若有定义:int w[3][5];这一下不能正确表示该数组元素的表达式是().

答案是:B*(w+1)[4] A *(*w+3) 这个表示w[0][3]; B*(w+1)[4] 正确的写法(*w+1)[4],表示w[1][4];C *(*w+1)这个表示w[0][1]; D *(&w[0][0]+1) 这个表示w[0][1];

(一道选择题)若有定义int a[3][5];则下列不能正确表示该数组元素的.

A a表示数组首地址,*a表示a[0][0]了.

若有定义:int w[3][5]

w 指向第一个元素的首地址*w 是第一个元素A *(*w+3) 就是w[0][3]以此类推B *(*w+1) 就是w[0][1]& 是取地址符号&w[0][0] 实际上等于 w所以D *(&w[0][0]+1) 就是 *(*w+1) 即 w[0][1]

C语言:正确表示数组元素的表达式

a 下标越界(第4行第3个的地址)b 下标越界(第4行第一个的地址)d是t[2][0]元素的值只有c是t[1][0]元素的地址

19、若有定义int a[3][4];则不能正确表示a数组元素地址的表达式是 ( .

(A)因为int a[3][4]申明一个长度为3行4列的数组 而数组的下标是从0开始的 则该数组的下标为00 01 02 0310 11 12 1320 21 22 23 所以a[3][2]不在申请的数组范围内 则是错误的

若有定义:int t[3][2];,则能正确表示t数组元素地址的表达式是: A .

正确答案是D,表示的是第二行第一个元素的地址.C语言没有多维数组,只有多个一维数组的嵌套.举个例子给你讲吧 a[3][3]= {1,2,34,5,6 7,8,9 } 其实是3个一维数组a[0] .

c语言:若有定义int(*pt)[3];,则下列说法不正确的是()

C是错误的,所以选C是正确答案.因为*pt什么名也不是,C规定标识符只能以字母或_开头.其他都是正确的.关于D,那是忽悠人的,不仅可以指向“有三个整数元素的二维数组”,它还可以指向有三个整数元素的三维数组、四维数组.n维数组……

若有以下定义,则不能表示a数组元素的表达式是

D) a[5] int a[5]五个元素,下标是从0-4,没有a[5]