zoukankan      html  css  js  c++  java
  • 练习5.4

    5.4:说面下列例子的含义,如果存在问题,试着修改它。

    (a) while (string::iterator iter !=s.end()) { /*.....*/}

    (b) while (bool status =find(word) ) {  /*...*/ }

        if(!status) { /*.....*/ }

    Ans:a)语句的含义是判断迭代器是否指向尾元素的下一个位置,如果不是,则执行循环体内容。但是存在问题,由于一开始就使用了迭代器,并没有进行初始化,编译器会报错。

    修改后的程序:

            string::iterator iter=s.begin();

            while ( iter !=s.end()) { /*.....*/}

         b)语句的含义是通过find函数寻找word这个值,如果找到,返回一个bool类型status,其值为true,然后执行while的循环体;若没有找到返回false,跳出当前while循环,然后通过If语句判断,为真执行if的语句块。但是存在问题,在控制结构中定义的变量,其作用域在当前的控制结构中,若要在其他控制结构中使用,需要在外部定义变量。

    修改后的程序:

            bool  status;

            while (bool status =find(word) ) {  /*...*/ }

            if(!status) { /*.....*/ }

  • 相关阅读:
    POJ 2112 Optimal Milking (Floyd+二分+最大流)
    hdu5444 Elven Postman
    hdu5442 Favorite Donut
    hdu5437 Alisha’s Party
    hdu5433 Xiao Ming climbing
    hdu5432 Pyramid Split
    Codeforces Round #316 (Div. 2) C. Replacement
    hdu5396 Expression
    hdu3506 Monkey Party
    hdu3516 Tree Construction
  • 原文地址:https://www.cnblogs.com/Dark-King/p/9454717.html
Copyright © 2011-2022 走看看