C++Primer第五版第五章练习5.4

/*
练习5.4:
说明下列例子的含义,如果存在问题,修改它:
(a)while(string::iterator iter != s.end()) {**********}
含义:迭代器如果没到尾部下一个位置,执行循环体内语句块
存在的问题:因为控制结构定义的对象的值马上要由结构本身使用,所以这些变量必须初始化。iter,没有初始化。
条件判断表达式把变量的定义和关系判断混合在了一起,如果要使用iter与其他值比较,必须首先为iter赋初值。
修改:
std::string::iterator iter = s.begin();
while(iter != s.end()) {**********}

(b)while(bool status = find(word)) {***********}
    if(!status) {************}
含义:找字,如果找到,返回一个0,布尔值假,如果没找到,返回非0值,布尔值为真,执行循环体内语句块。
如果没找到,if条件判断。此时status变量定义在循环控制语句中,作用域为循环语句内,if在循环语句外,status,未定义。
修改:status需要在while语句外定义。
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值