我正在研究一个简单的短C ++代码,并且for循环比它更多地循环(使用code :: blocks开发):
#include <iostream>
using namespace std;
int main() {
int x = 0;
for (x=10; x<20; x++);
cout<<x;
return 0;
}
输出为20,但据我所知,它必须是19。
图片链接:https://drive.google.com/file/d/0B9WsVzm6FTagbC1uNHpMZ1p6SW8/edit?usp=sharing
答案 0 :(得分:4)
输出正确。第二个语句x<20
定义循环是否将被执行。但是,x增加到20,不满足条件并且不执行循环。你的代码在for循环之后输出x变量,这就是为什么20是正确的输出。
答案 1 :(得分:3)
x < 20
是为了留在循环内必须满足的条件,这意味着你只会在x >= 20
时退出循环,所以当你到达x = 19
时因为19 < 20
,我还会再次迭代。
答案 2 :(得分:1)
foor环中间部分; x <20;是循环条件。 这意味着如果它不再是真的,它将再次执行x ++。因此,只有当x达到20
时,循环才会停止答案 3 :(得分:0)
我们可以使用while循环重写您的代码,这可以使其更清晰:
int main() {
int x = 10;
while (x < 20)
x++;
cout << x << "\n";
return 0;
}
以这种方式编写时,很明显在迭代时while循环结束了x == 20
。