为什么while循环不结束?
问题描述:
作为while循环的例子,我从C++ Primer拷贝了这段代码,它不输出任何内容。我正在使用g ++。为什么while循环不结束?
#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;
}
答
sum += val; // assigns sum+ val to sum\
获得在该行的末尾摆脱反斜杠。这是一个续行字符。它使下一行连接到这一行;换句话说,++val
成为“分配总和+总计”评论的一部分。
答
sum += val; // assigns sum+ val to sum\ <-- typo
++val; // add 1 to val
你在这个sum += val;
行有一个错字。最后的“\”将下面的行作为注释,从而使得while
无限循环,因为val
从未增加。删除“\”,那么它会工作。
答
这是一个简单的错误,在评论“//分配sum + val之后删除\”。
这是[MCVE]为什么重要的完美例子。 – MooseBoys