22问答网
所有问题
指针问题 若有定义:int w[3][5];,则以下不能正确表示该数组元素的表达式是________。
请解释下错误选项错误的原因
选项 A)*(*w+3) B)*(w+1)[4] C)*(*(w+1)) D)*(&w[0][0]+1)
举报该问题
推荐答案 2009-03-25
B
因为在B中的*(w+1)返回的是一个指针地址,当指针地址再做数组运算的时候就出错了!
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://22.wendadaohang.com/zd/TChXCffT.html
其他回答
第1个回答 2009-03-25
A和C;*W表示W数组的第一个元素
第2个回答 2009-03-25
D)*(&w[0][0]+1)
int 型存储整数的位数依机器的不同而异
&w[0][0]+1 只是指针指向下一个单元,INT如果占用两个存储单元的话,则取值肯定不正确。如果是定义一个INT型的指针的话*P+1应该是正确的
本回答被网友采纳
第3个回答 2009-03-26
B
完全是迷惑人的 (*(w+1))[4] 优先级问题
A *(*w+3) = w[0][3], *w == &w[0]
C *(*(w+1)) = w[1][0]
D *(&w[0][0]+1) = w[0][1]
第4个回答 2009-03-25
D)*(&w[0][0]+1)
& 是不可以的
相似回答
...
5],则以下不能正确表示该数组元素的表达式是
___。D.*(&
w[
0...
答:
【答案】:B 解析: *(w+1)[4]越界了,(w+1)指向二维数组的第二行,因此(w+1)[4]指向二维数组的第5行导致越界;其他选项都
能正确表示数组元素,
其中选项A
:w[
0
][3];
选项C:w[1][0];选项D:w[0][1]。
若有定义int
w[3][5];,则以下不能正确表示该数组元素的表达式是
D.*(&...
答:
【答案】:C 解析: 在C语言中,二维数组的名字
表示的是
二维数组的地址,表达式*(W+1)表示的是二维数组的第一行的第二个元素。在其前面再加上*(*(w+1))就是错误
的表达式
。
大家正在搜
若有定义int a[2][3]
若有定义int a[3][4]
数组指针与指针数组
c语言指针数组和数组指针
指向二维数组的指针
指向数组的指针
若有定义int a=7
数组指针的用法
指针数组的使用
相关问题
若有定义:int w[3][5];这一下不能正确表示该数组元...
有定义:int w[3][5];,则以下不能正确表示该数组元...
(一道选择题)若有定义int a[3][5];则下列不能正确...
C语言数组元素的表达式问题
若有定义:int t[3][2];,则能正确表示t数组元素地...
19、若有定义int a[3][4];则不能正确表示a数组元...
若有以下定义和语句: int a[10]={1,2,3,4,...
C语言的数组问题,若有定义:int a[2][3];以下选项...