的工作差异
while(i++<100)
和
while(i++<100);
这是正确的,在第一种情况下,i
会增加,直到其值达到99
,但在第二种情况下,;
是一个错误,这就是为什么没有任何意义发生?
答案 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)
答案 4 :(得分:-1)
在第二种情况下,&#34 ;;&#34;是一个错误
否即可。只需将此while()
视为do...while
循环的一部分。它的完全有效。
但是,即使在正常的while()
循环场景中,这两个语句都是有效,但它们的行为却不同。
while (i++ < 100)
它会导致while()
之后的下一条指令或块被执行,直到条件变为FALSE(i
转到99
)。
while(i++<100);
基本上什么都不做,只是i
增加99
的价值。