有和没有终止的两个不同的 while 循环之间的区别?
difference between two different while loops with and without termination?
的工作方式有何不同
while(i++<100)
和
while(i++<100);
这是否正确,在第一种情况下,i
增加直到其值达到 99
,但在第二种情况下,;
是一个错误,这就是为什么什么都不会发生的原因?
in 2nd case,";" is an error
否。只需将此 while()
视为 do...while
循环的一部分即可。 完全正确。
然而,即使在正常的 while()
循环场景中,这两个语句都是 有效的 ,但它们的行为是不同的。
while (i++ < 100)
它会导致执行 while()
之后的下一条指令或块,直到条件变为 FALSE(i
变为 99
)。
while(i++<100);
基本上什么都不做,只是增加 i
的值直到 99
。
否:
while(i++<100);
是一个空命令的循环(直到i
为100之前什么都不做),(没有编译错误)。
和while(i++<100) {commands}
是一个相同的循环,但做了一些事情。
第一个未被 ;
终止 - 它将执行后续直到 i
达到限制。
第二个以 ;
结束 - 这意味着那里有一个隐含的空块。也就是说,相当于有while(i++<100) {}
。 IE。 - 在 i
达到限制之前什么都不做。
没有语法错误,只是第二个while循环一直递增直到满足条件,
while(i++<100);
记住 ;
是语句终止符。 while
的范围适用于语句终止符或范围定界符 {}
。
- while (i++ < 100) - 将在此语句之后执行块,直到条件有效,即 i < 100。
- 同时 (i++ < 100); - 将自行执行直到 i < 100。
while(i++<100)
和
while(i++<100);
这是否正确,在第一种情况下,i
增加直到其值达到 99
,但在第二种情况下,;
是一个错误,这就是为什么什么都不会发生的原因?
in 2nd case,";" is an error
否。只需将此 while()
视为 do...while
循环的一部分即可。 完全正确。
然而,即使在正常的 while()
循环场景中,这两个语句都是 有效的 ,但它们的行为是不同的。
while (i++ < 100)
它会导致执行 while()
之后的下一条指令或块,直到条件变为 FALSE(i
变为 99
)。
while(i++<100);
基本上什么都不做,只是增加 i
的值直到 99
。
否:
while(i++<100);
是一个空命令的循环(直到i
为100之前什么都不做),(没有编译错误)。
和while(i++<100) {commands}
是一个相同的循环,但做了一些事情。
第一个未被 ;
终止 - 它将执行后续直到 i
达到限制。
第二个以 ;
结束 - 这意味着那里有一个隐含的空块。也就是说,相当于有while(i++<100) {}
。 IE。 - 在 i
达到限制之前什么都不做。
没有语法错误,只是第二个while循环一直递增直到满足条件,
while(i++<100);
记住 ;
是语句终止符。 while
的范围适用于语句终止符或范围定界符 {}
。
- while (i++ < 100) - 将在此语句之后执行块,直到条件有效,即 i < 100。
- 同时 (i++ < 100); - 将自行执行直到 i < 100。