定义int a=12,*p=&a,p的值为65496,若执行(*p)++,则p=?,a=?,再执行p=p+2,则p=?,a=?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 09:57:17

定义int a=12,*p=&a,p的值为65496,若执行(*p)++,则p=?,a=?,再执行p=p+2,则p=?,a=?
定义int a=12,*p=&a,p的值为65496,若执行(*p)++,则p=?,a=?,再执行p=p+2,则p=?,a=?

定义int a=12,*p=&a,p的值为65496,若执行(*p)++,则p=?,a=?,再执行p=p+2,则p=?,a=?
执行(*p)++,是将p指向的值加1,所以p不变,还是65496,而p指向的值,就是a变成13.
执行p=p+2,是将p本身的值加“2”,注意,此时增加的数与p指向的数据类型占据的内存空间大小有关.比如此题中,p指向的是整数,在32位机器中占用4个字节,所以p+1就变为65500,增加了4个字节.那么p+2就是65504.这是对a没有影响,还是12,但是p已经不再指向a.

定义指针int *p p=a,p=&a,*p=a,*p=&a,这四个的区别! 定义int a=12,*p=&a,p的值为65496,若执行(*p)++,则p=?,a=?,再执行p=p+2,则p=?,a=? 设有定义语句“int a=10,*p=&a;”,则表达式“a+*p”的值是: 定义int a[ ]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是________. 定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];如果int a;int *p;p=&a;*p=a;这里的指针变量p放的是a的地址,*p就是指a的内容,如果上式成立,那么关于这个如果写成int *p=&a就不对了?为什么感觉是* 设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为(3) 若定义int a[]={1,2,3,4},++*p的值是多少,求详解 急~~~如果定义语句int a=1,请定义一个指针p指向a,并通过p控制a的值增加1 设有以下定义的语句;int a [3][2]={10,20,30,40,50,60}.(*p)【2】;p=a; 则*(*(p+2)+1的值为? 设有变量定义 int a[3][2]={1,2,3,4,5,6},(*p)[2]=a;表达式**(p+2)=*p[2]的值? C语言……….若有定义语句:int a[4]={1,3,5,7},*p;p=a;则*(p+1)的值是 若有以下定义和语句:int a[5]={1,3,5,7,9},*p; p=&a[2]; 则++(*p)的值是__6__. 若有以下定义和语句:int a[4]={1,3,5,7},*p; p=&a[2]; 则*--p的值是【 】 c语言的问题 int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12}; int (*p)[4]; p = a;以上为定义,为啥不能使p[0] = p[1]; 若有定义int a[10],*p=a;,则p+5表示什么 若有定义int a[8],*p=a;,则*(p+3)表示_____ 12.若有定义:int a[10],*p=a;则*(p+5)表示 的值.答案是a[5]还是a[6]? 有定义inta[5]={1,2,3,4,5},如有int*p=a,则*p的值,*(p+2)的值