我遇到了奇怪的情况,这里发生了什么。我正在使用一个do while
循环,它在制动后再次使用一次。
这是一个简单的版本:
int i = 0;
do{
if(i>=1) break;
}while(i++);
此i
值为2.我只是好奇它是不是应该如何,或者我只是在我的更复杂版本的代码中出错了?
这是一个简单的解决方法,我只需要在wgile的开头指定一个iTemp
变量并使用i
的内容。
P.S。我在另一个内部使用了两个do while
循环,这可能是导致它的原因吗?
答案 0 :(得分:4)
brake
不是关键字,您的修改后的版本甚至无法编译。而是运行旧版本,即没有新的中断。
解决方案:使用break
。
更新
P.S。我正在使用两个while while循环一个在另一个内部可能是导致它的原因吗?
是。 break
只会突破写入的最内层循环。
顺便说一下,我意识到你显示的循环总是只运行一次。您的循环条件为i++
,其增加i
并在增量之前为您提供值。在第一次增加之前,i
为0
,因此首次运行时您的循环条件为0
,因此运行一次。
答案 1 :(得分:2)
检查其break
不是brake
?
答案 2 :(得分:2)
P.S。我正在使用两个while while循环一个在另一个内部可能是导致它的原因吗?
很可能。一个break
(注意拼写)只会突破一个循环,所以如果它在内部循环中,它会突破该循环,但在结束后立即继续执行内循环。在外部循环紧接在内部之后的(相当普遍的)情况下,你最终会再次执行外循环的条件。
答案 3 :(得分:0)
int i = 0;
do
{
if(i>=1)
break;
}while(i++);
循环条件和连接条件无法想象。 “对不起,如果我看起来很粗鲁”