**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。
这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
17天前关闭。
Improve this question
我已经输入了这段代码并运行了它,它无限地运行,我不明白为什么,因为一旦x达到10,它就应该停止
我希望它在10处停止,因为它从0开始,并以1递增,直到达到10
**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。
这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
17天前关闭。
Improve this question
我已经输入了这段代码并运行了它,它无限地运行,我不明白为什么,因为一旦x达到10,它就应该停止
我希望它在10处停止,因为它从0开始,并以1递增,直到达到10
1条答案
按热度按时间n3h0vuf21#
for
循环没有退出条件。它们有继续条件。测试中间条件时,如果为真,则循环继续。x = 10
是赋值表达式。它将10赋给x
,而赋值表达式的值是x
的新值,因此始终为10(或者,如果x
是_Bool
,则它是1),它作为条件的“true”。您可能需要x == 10
,它是一个比较表达式。但是,只有当x
是10时,它才是true,因此,即使是第一次迭代,循环也不会执行。您需要一个条件来继续循环,而不是退出循环,所以您需要x < 10
。