有和没有终止的两个不同while循环之间的区别?

时间:2015-05-12 05:56:49

标签: c loops while-loop

的工作差异
while(i++<100)

while(i++<100);

这是正确的,在第一种情况下,i会增加,直到其值达到99,但在第二种情况下,;是一个错误,这就是为什么没有任何意义发生?

5 个答案:

答案 0 :(得分:0)

没有

while(i++<100);是一个带有空命令的循环(在i为100之前不执行任何操作),(没有编译错误)。

while(i++<100) {commands}是一个相同的循环,但确实有所作为。

答案 1 :(得分:0)

第一个没有被;终止 - 它将执行跟随它,直到i达到限制。

第二个被;终止 - 这意味着那里有一个隐含的空块。换句话说,它等同于while(i++<100) {}。即 - 在i达到极限之前不做任何事情。

答案 2 :(得分:0)

没有语法错误,只是第二个while循环继续递增直到它吃掉条件,

while(i++<100);

记住;是语句终止符。 while的范围适用于语句终止符或作用域分隔符{}

答案 3 :(得分:0)

  1. while(i ++&lt; 100) - 在该语句之后执行块直到条件有效,即i <1。 100。
  2. while(i ++&lt; 100); - 将自己执行直到我&lt; 100.

答案 4 :(得分:-1)

  

在第二种情况下,&#34 ;;&#34;是一个错误

即可。只需将此while()视为do...while循环的一部分。它的完全有效

但是,即使在正常的while()循环场景中,这两个语句都是有效,但它们的行为却不同。

  1. while (i++ < 100)
  2. 它会导致while()之后的下一条指令或块被执行,直到条件变为FALSE(i转到99)。

    1. while(i++<100);
    2. 基本上什么都不做,只是i增加99的价值。