设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________。为什么q为4,p为4 ?

[复制链接]
查看11 | 回复3 | 2011-4-8 20:10:08 | 显示全部楼层 |阅读模式
q=(++p);等效为++p;q=p;因为++在p左边,所以p先++,然后再参加表达式运算
回复

使用道具 举报

千问 | 2011-4-8 20:10:08 | 显示全部楼层
素的一维数组的指针变量,那么二维数组就可以看作是一维数组a[3],其中每一个元素都是一个一维数组,a[1]=,a[2]=,a[3]=;则p+2就指向了a[3],*(p+2)是a[3]的首地址,**(p+2)就是a[3]的首元素,即为5。
回复

使用道具 举报

千问 | 2011-4-8 20:10:08 | 显示全部楼层
q是31;P结果也为31;记住:++P是进行自加,得31;如果是P++则q为30;P结果变为31;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行