
求问一道C程题目~~
假定x的地址是0x5f00.intx=5,*p=&x;printf(“%p%d%d%d%d”,p,*p+2,**&p,3**p,p+4);注:格式化输出中的p为指针值,所...
假定x的地址是0x5f00.
int x=5, *p = &x;
printf(“%p %d %d %d %d”, p, *p+2, **&p, 3**p, p+4);
注:格式化输出中的p为指针值,所有编译系统都支持这种格式。要注意如果将%p改成%d,在系统中可能会出现错误。
输出结果是怎样的?谢谢!! 展开
int x=5, *p = &x;
printf(“%p %d %d %d %d”, p, *p+2, **&p, 3**p, p+4);
注:格式化输出中的p为指针值,所有编译系统都支持这种格式。要注意如果将%p改成%d,在系统中可能会出现错误。
输出结果是怎样的?谢谢!! 展开
2个回答
展开全部
输出结果为:5F00 7 5 15 24328
第一个就是输出的X的地址,
第二个是指针p取值后加2,即等于7;
第三个是先取指针的地址,在取值2次,即还是5;
第四个是3*(*p),即3*5=15;
第五个是不是应该以格式%p打印,意思是p的地址偏移4个单位,P是一个int型的指针,则每个单位是2个字节,所以偏移2*4=8个字节,故p的地址是 5f08,若以%d输出,转换为int型的数据就是 24328 。
第一个就是输出的X的地址,
第二个是指针p取值后加2,即等于7;
第三个是先取指针的地址,在取值2次,即还是5;
第四个是3*(*p),即3*5=15;
第五个是不是应该以格式%p打印,意思是p的地址偏移4个单位,P是一个int型的指针,则每个单位是2个字节,所以偏移2*4=8个字节,故p的地址是 5f08,若以%d输出,转换为int型的数据就是 24328 。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询