while (x >= 1000)
{
cout << "M";
x -= 1000;
}
有人可以向我解释while循环的工作原理吗?我知道条件是x大于或等于1000,它会打印出'M'。需要了解while循环条件(请参阅评论)
之后的部分是我实际上不明白的,是不是说它会继续从X中减去一千个并继续打印直到条件为假?
while (x >= 1000)
{
cout << "M";
x -= 1000;
}
有人可以向我解释while循环的工作原理吗?我知道条件是x大于或等于1000,它会打印出'M'。需要了解while循环条件(请参阅评论)
之后的部分是我实际上不明白的,是不是说它会继续从X中减去一千个并继续打印直到条件为假?
是的,这正是它会做的。
这大致翻译成:
虽然x大于或等于1000,做什么是在码块(反复直到条件失败)
代码块然后打印M和集合X等于本身减去1000(x -= 1000
相同x = x - 1000
假设:
x = 3000
x is greater than 1000
print M
x is set to 2000
loop resets and checks x...passes test
print M
x is set to 1000
loop resets and checks x...passes test because of = portion
print M
x is set to 0
loop resets and checks x...fails
moves to the code after the while code block
你是对的!
x-=1000;
实际上是
x=x-1000;
是。
它说,它将保持减去一千个从X和保留打印,直到条件为假
程序似乎是写
x %= 1000;
这是一种低效的方式x = x%1000
,其中%
是模数运算符。
您的代码通过后续减法达到相同的结果,并在x<1000
时停止。
虽然你的代码不会生成'M's。 – fredoverflow 2012-03-16 08:57:13
@FredOverflow唉,你是对的。 :)错过了。 – 2012-03-16 08:59:19
while (x >= 1000) //x is greater than or equal to 1000
{ //executes loop if condition true, else the statement after the loop block
cout << "M"; // print M
x -= 1000; // x = x-1000
} //goes back to condition checking
欢迎来到Stack Overflow!请记住,赞赏是由upvotes和接受的答案(复选标记)显示的。如果您有任何疑问,[常见问题]是一个很好的资源,尤其是如何提问的章节[常见问题解答#HowToAsk] – 2012-03-16 06:11:54
当您得到答案时,Upvote好的并接受最好的!欢迎来到SO – 2012-03-16 07:56:20