循环结束时为什么不这样做?

时间:2016-12-04 05:30:55

标签: c++ while-loop

我从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;
}

3 个答案:

答案 0 :(得分:11)

sum += val;     // assigns sum+ val to sum\

摆脱行尾的反斜杠。那是一个线条延续的角色。它导致下一行连接到此行;换句话说,++val成为“分配总和+ val求和”评论的一部分。

答案 1 :(得分:4)

    sum += val;     // assigns sum+ val to sum\ <-- typo
    ++val;          // add 1 to val

你在sum += val;行发错了。最后的“\”使以下行成为注释,从而使while无限循环val从未增加。删除“\”,然后就可以了。

答案 2 :(得分:1)

这是一个简单的错误,在评论后删除\#34; //将sum + val分配给&#34;。