有道C语言-指针的计算题麻烦达人帮解下!!

[复制链接]
查看11 | 回复3 | 2008-4-10 12:58:31 | 显示全部楼层 |阅读模式
首先你得清楚 “i”在此程序中表示的是指针数组下标这个下标是从 0 开始的。if(i%2)这里面的表达示表示的是 “指针数组中下标为奇数时执行下一条语句”也就是说当 i 的取值为奇数时,执行s+=*(p+i)不知道这么说你能不能理解,不过我建议如果你在程序中如果定义一个数组然后将指针指向数组这样就可能你就会好理解一些了
回复

使用道具 举报

千问 | 2008-4-10 12:58:31 | 显示全部楼层
该题当中指针p的位置并未发生移动!for循环说的是,在下标为奇数时执行s+=*(p+i);而下标为奇数的情况只有两个,就是当i=1和i=3时,i=1时,*(p+1)=2,s=2i=3时,*(p+1)=9,s=2+9=11什么情况下p会移动?答:p=p+i
回复

使用道具 举报

千问 | 2008-4-10 12:58:31 | 显示全部楼层
其实在整个过程中P指针都没有变这点你理解错了所以当I=3时,是9
回复

使用道具 举报

千问 | 2008-4-10 12:58:31 | 显示全部楼层
P没有移动。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行