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)...

请你在草稿纸上画一个三行、四列的方格网,从左上角开始填写编号0,0、0,1、0,2、0,3、1,1、……2,3,然后你数一下2,1的位置(从0开始刚好是第9个),所以a[2][1]的内存地址与a[0][0]的差是9 基础知识:a表示a[0][0]的地址,&a[2][1]表示a[2][1]的...

在进行数组的部分初始化时,没有显式给出的元素的值默认置0。所以,以上初始化相当于: int a[3][4]={{1,2,0,0}, {3,0,0,0}, {4,5,6,7}}; 而下标从零开始编,故a[1][2]是第2行第3列元素,值为0。

C 指针p指向a的首地址,就是存放a[0]的地址,值为6的数组名是a[5],所以A,B首先排除 之后p是指针变量存的是地址,所以为了获取值,应选C

A 因为 p+=2 是 p=0+2 ,指的是数组中的第二个元素。而*(p++) 是p+1 ,*(p++)表示第三个元素的值。故选A。

首先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]

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

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

*(a[1]+1)的值是8

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我

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