mshd.net
当前位置:首页 >> 20悬赏!!在线等!若有以下定义:int A[]={1,2,3,... >>

20悬赏!!在线等!若有以下定义:int A[]={1,2,3,...

*p=a,数组名表示地址,该句话的意思就是p=&a[0],p+=2表示p=&a[2]; 接下来我们看看* ++的优先级,两个优先级是一样的,属于右结合。*(p++)首先计算p++,由于++在后面,所以*(P++)相当于计算*p,然后p++;所以A和C相同,至于D ++*p表示++(*p)...

int a[4]={0,1,2,3},*p; p=&a[2]=2; 再执行(*p)=2; 之后++(*p)=3;

int a[][3]={{1,2},{3,2,4},{4,5,6},{1,2,3}};这样就是数组应该是a[4][3],4行3列,第一行是1,2,0,第二行是3,2,4,以此类推,所以a[2][2]是6,不懂hi我

不能表示a数组元素的表达式是( B) a[10] )----因为数组a的最大下标只能是9,即a[9], a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], 一共10个元素

首先a[1]是第1行(从0计数)的首地址。类型为int *型。指向a[1][0] 于是 a[1]+1就是指向a[1][1] *(a[1]+1)就是a[1][1]的值, a= 2 4 6 8 10 12 于是a[1][1]就是8了。 这里有一个通用的公式 对于任意的 *(p+i) 等效于p[i]

答案是12,我亲自调试了一下,没问题的。 解释:&a[0][0]表示数组a的第一个元素的地址,数组元素存储在内存中一片连续的区域里,所以数组元素的地址加1则指向下一元素地址,多维数组也是一样。因此括号里面的表达式就是a[5](实际上这里没有a[5]...

C错误 p + i, 显示的是地址,不是数组元素值。应该为*(p + i)

int *q[3];说明q是一个一维数组,有3个元素,每个元素都是指向int的指针, q也是一个指向int的指针的指针。 *q代表q[0],表示第一个元素,*q是一个指针,所以这里只有选择D *q=&b[1][2]是正确的。 因为&b[1][2]是一个地址,可以给指针赋值。

int a[][];第一个中括号表示有此二维数组有几行,第二个表示有几列; 故int a[][3]={1,2,3,4,5,6,7};说明此数组有n行,3列;也就是说每行有三个元素,所以第一行有1,2,3 这三个元素,第二行有4,5,6三个元素,第三行有7这个元素,不足的两个元素...

答案是2,先算(*p)是1,然后再加1,即为2

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com