【问题标题】:Why doesn't this while loop end?为什么这个while循环没有结束?
【发布时间】:2017-04-18 18:04:16
【问题描述】:

我从 C++ Primer 复制了这段代码作为 while 循环的示例,但它没有输出任何内容。我正在使用 g++。

#include <iostream>

int main()
{
    int sum = 0, val = 1;
    // keep executing the while as long val is less than or equal to 10
    while (val <= 10) {
        sum += val;     // assigns sum+ val to sum\
        ++val;          // add 1 to val
    }
    std::cout << "Sum of 1 to 10 inclusive is "
              << sum << std::endl;
    return 0;
}

【问题讨论】:

    标签: c++ while-loop


    【解决方案1】:

    这是一个简单的错误,去掉注释“//将 sum+ val 分配给 sum”之后的 \。

    【讨论】:

      【解决方案2】:
          sum += val;     // assigns sum+ val to sum\ <-- typo
          ++val;          // add 1 to val
      

      您在 sum += val; 行有错字。最后的“\”使以下行成为注释,从而使while 成为无限循环,因为val 从未增加。去掉“\”,就可以了。

      【讨论】:

        【解决方案3】:
        sum += val;     // assigns sum+ val to sum\
        

        去掉行尾的反斜杠。那是一个行继续字符。它导致下一行连接到这一行;换句话说,++val 成为“assigns sum+ val to sum”注释的一部分。

        【讨论】:

        猜你喜欢
        • 2020-01-17
        • 2020-09-13
        • 1970-01-01
        • 1970-01-01
        • 2014-03-24
        • 2019-06-16
        • 1970-01-01
        • 2017-04-03
        • 2014-02-01
        相关资源
        最近更新 更多