/*
练习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语句外定义。
*/