二维数组的等价问题*若有以下定义和赋值语句,则与&s[i][j]等价的是().int s[2][3]={0},(*p)[
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/06 05:45:39
二维数组的等价问题
*若有以下定义和赋值语句,则与&s[i][j]等价的是().
int s[2][3]={0},(*p)[3],i,j;
p=s; i=j=1;
A) *(*(p+i)+j)
B) *(p[i]+j)
C) *(p+i)+j
D) (*(p+i))[j ]
*若有以下定义和赋值语句,则与&s[i][j]等价的是().
int s[2][3]={0},(*p)[3],i,j;
p=s; i=j=1;
A) *(*(p+i)+j)
B) *(p[i]+j)
C) *(p+i)+j
D) (*(p+i))[j ]
答案是C.
这题可以使用排除法,&s[i][j],是一个地址.而ABD都是一个int变量,只有C是地址.所以排除法可以很简单的知道答案.
满意请采纳!
再问: 谢谢 那咋样判断是变量还是地址啊!
再答: 这个,怎么说了,要是我,我可以很简单的分辨出来,要我说出怎么分辨的,我讲不出来。 我随便讲讲,你就当随便听听吧。 首先,p是你定义的int *类型,也就是指针变量,就是储存的是地址。 其次,p[i]是等价于*(p+i);p[i][j]就等价于*(*(p+i)+j)。 你把所有选项分化为没有[]的形式,由于p是二维的,所以带有两个*的就是int变量,而只有一个*的就是地址。 当然,这种说法不是很好,并不能在所有范围类使用,只能说在这道题里适合。 满意请采纳!
这题可以使用排除法,&s[i][j],是一个地址.而ABD都是一个int变量,只有C是地址.所以排除法可以很简单的知道答案.
满意请采纳!
再问: 谢谢 那咋样判断是变量还是地址啊!
再答: 这个,怎么说了,要是我,我可以很简单的分辨出来,要我说出怎么分辨的,我讲不出来。 我随便讲讲,你就当随便听听吧。 首先,p是你定义的int *类型,也就是指针变量,就是储存的是地址。 其次,p[i]是等价于*(p+i);p[i][j]就等价于*(*(p+i)+j)。 你把所有选项分化为没有[]的形式,由于p是二维的,所以带有两个*的就是int变量,而只有一个*的就是地址。 当然,这种说法不是很好,并不能在所有范围类使用,只能说在这道题里适合。 满意请采纳!
若有说明:int i,j=5,*p=&i;则与i=j等价的语句是()
设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是( )A*p=*
设有定义:int n1=0,n2,*p=&n2,*q=&n1; 以下赋值语句中与n2=n1:语句等价的是 A.*p=*q
若有说明:int i,j=7,*p=&i;,则与i=j; 等价的语句是( ).A.i= *p;B.*p=*&j; C.i
若有定义语句:char s[3][10],(*k)[3],*p; p=s[0]为什么是对的? s是二维数组,怎么写成了一
若有定义:int i,j,*pi=&i; 则与i==j等价的比较表达式是____________
设有定义int m,n,*p;与语句“m = n;”等价的语句序列是( ).
若有定义语句:char s[3][10],(*k)[3],*p;则以下赋值语句正确的是:A、p=s; B、p=k; C、
如果有定义“int m,n=5,*p=&m;”,与m=n等价的语句是()
有变量定义 int i,j; 与表达式 i==0 && j==0 等价的表达式是:(A) i||j (B) i&&!j
若以下定义:char s[20],*ps=s; 则,以下赋值语句正确的是:
若有以下定义和语句,int x[10],*p;*p =x;在程序中引用数组元素 x[i]的四种形式是