c问题,指针?

[复制链接]
查看11 | 回复1 | 2007-1-19 19:02:27 | 显示全部楼层 |阅读模式
不仅a[2],a[0],a[1],a[3]都=2把指针换成数组比较好理解一点for(i=1;ifor(i=1;ifor(i=1;i<4;i++)a=a[i-1];//a[3]=a[2]=a[1]=a[0]=2
回复

使用道具 举报

千问 | 2007-1-19 19:02:27 | 显示全部楼层
关键在于这里啦:a=*p++p指向的是a,这就相当于指向a的首地址,就是a[0]那么*p的值当然会是2然后关于“++”自增,++放在*p后的话是使将*p的值先赋给“=”左边的变量,然后再自增。所以a[1]=2++a[2]=3++a[3]=4++所以a[2]应该为3,你原先的答案本来就错了
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行