若有定义int c[4][5],(*cp)[5];和语句cp=c,则能正确引用c数组元素的是
a.cp+1 b.*(cp+3) c.*(cp+1)+3 d.*(*cp+2)
解释一下正确原因和错误原因.
人气:411 ℃ 时间: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 数组元素的引用中错误的是( ).
- 1There will be a football match this evening改为否定句
- 一口井10米深,一只青蛙白天向上爬3米,晚上就滑下来2米,请问要多少天青蛙才能爬出来?
- 把一个体积为1dm³质量为800g的物块放入足够深的水中,静止后此物受到的浮力为多少牛?(g=10N/kg)
猜你喜欢