c语言中的while语句为什么后边有的能加分号,有的不能?这是为什么?

2025-05-22 10:30:28
推荐回答(4个)
回答1:

while语句为C语言的循环语句,当while后括号内的条件成立(为真)时,会执行循环体,否则会退出循环。
当while写作
while(expr)
{
...

}
时,所有{}内部的代码组成循环体。
如果不包含大括号时,while的循环体为其接下来的一个语句。

C语言规定,一条语句是以分号(;)作为结束符的,所以如果写作
while(expr);
那么while的循环体就是空的,也就是没有循环体,这时需要在expr中做数据的修改操作,使得expr有假的可能。如果不存在这样的修改,除非expr恒为假,否则该语句将成为死循环。

回答2:

while(n<=7)这个没有分号,所以后面的花括号里面的是循环体。Do{}while(a<1||a>50);这个因为while在循环后面,所以需要一个;表示语句结束。 有时候如果只是一个空while循环,后面只是一个空语句,也是加一个;

回答3:

循环里while(){} 这个时候不用加括号如果是do {} while(); 这个时候要加括号你一旦while()加了括号说明这个循环就在括号里结束了,不执行()外的操作!

回答4:

好象都是没分号的吧。!