定义int a=12,*p=&a,p的值为65496,若执行(*p)++,则p=?,a=?,再执行p=p+2,则p=?,
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/13 03:23:14
定义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.
执行p=p+2,是将p本身的值加“2”,注意,此时增加的数与p指向的数据类型占据的内存空间大小有关.比如此题中,p指向的是整数,在32位机器中占用4个字节,所以p+1就变为65500,增加了4个字节.那么p+2就是65504.这是对a没有影响,还是12,但是p已经不再指向a.
定义int a=12,*p=&a,p的值为65496,若执行(*p)++,则p=?,a=?,再执行p=p+2,则p=?,
若已定义:int a[]={1,2,3},*p=a;则执行*p++=5;(*p)++;后a[0],a[1],a[2]的值
设有定义int a[]={0,1,2,3,4},*p;,执行语句p=a+2;后,表达式*p的值为( ) A)1 B)2
定义指针int *p p=a,p=&a,*p=a,*p=&a,这四个的区别!
设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为(3)
设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为()
12.若有定义:int a[10],*p=a;则*(p+5)表示 的值.
设变量定义为“int a[2]={1,3},*p=&a[0]+1;”,则*p的值是____,若*p=&a[0]++,则*
int *p,a[10]; for(p=a;p
定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];
在16位编译系统上,若定义int a[]={10,20,30},*p=&a;当执行p++;后下列叙述错误的是() A.
若有定义:int *p,a=4; p=&a;则以下均代表地址的是:A)a,p B)&a,p C)&a,*p D)a,*p