C++解释下面的for循环,更正你发现的问题

[复制链接]
查看11 | 回复1 | 2011-6-11 22:38:42 | 显示全部楼层 |阅读模式
for(int *ptr=&ia,ix=0;ix!=size&&ptr!=size+ia;++ix,++ptr)
这是C++primer一道题 不要原题答案 为什么说ix!=size&&ptr!=size+ia是等价条件?为什么说ptr应初始化为ia 而不是&ia本人基础差所以要详解谢谢
c++primer答案书6.14题上 写着是ix!=size&&ptr!=size+ia 两个条件相等 重复了,应去掉其中一个。ptr应改为初始化ia 而不是&ia 也是书上原来就这么写的 这两个错误为什么要这么改 说明原因

回复

使用道具 举报

千问 | 2011-6-11 22:38:42 | 显示全部楼层
你的ia是不是个数组?如果是个数组那么久应该是ia而不是&ia因为ia是这个数组的首地址,因此应该把这个首地址赋值给指针ptr而&ia是地址的地址 这样后面也说通了ia+size也就是ia[size]这个元素的地址,而ptr和ix其实表示的是同一个元素,ptr其实就是ia[ix]的地址...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行