若有定义int c[4][5],(*cp)[5];和语句cp=c,则能正确引用c数组元素的是
a.cp+1 b.*(cp+3) c.*(cp+1)+3 d.*(*cp+2)
解释一下正确原因和错误原因.
人气:164 ℃ 时间:2019-08-20 02:08:32
解答
*(*cp+2)代表c[0][2]这个元素.
cp是行指针,用于指向二维数组的一行.
cp=c,故cp+1是第1行的指针.
*(cp+3)等价于c[3],代表第3行.
*(cp+1)+3 等价于c[1]+3.
*(*cp+2)等价于*(*(cp+0)+2),等价于c[0][2],代表c数组的一个元素.
推荐
- 设有数组a的定义为int a[]={1,2,3,4};若语句a[3]=--a[0]?a[1]++:a[2]++;执行后,数组a的各元素依次
- 若有定义语句int a[5], *p=a;,则对a数组元素的正确引用是什么 A *&a[5] B *a+2 C *(p+5) D * (a+2)
- 若有以下定义和语句,则对a数组元素的正确引用为( ).int a[2][3],(*p)[3];p=a;
- 14、若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m 数组元素的引用中错误的是( ).
- 若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m 数组元素的引用中错误的是( ).
- 知丑的不知足,
- 在△ABC中,猜想T=sinA+sinB+sinC的最大值,并证明.
- 用NA表示阿伏加德罗常数,下列叙述正确的是
猜你喜欢