有和没有终止的两个不同的 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() 循环场景中,这两个语句都是 有效的 ,但它们的行为是不同的。

  1. while (i++ < 100)

它会导致执行 while() 之后的下一条指令或块,直到条件变为 FALSE(i 变为 99)。

  1. 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 的范围适用于语句终止符或范围定界符 {}

  1. while (i++ < 100) - 将在此语句之后执行块,直到条件有效,即 i < 100。
  2. 同时 (i++ < 100); - 将自行执行直到 i < 100。