#include <stdio.h> main() {int a=7; while(a--); printf("%d尀n",a); }while不是不应该有分号吗?

while加了分号是什么意思...
2026年09月17日 00:53
有2个网友回答
网友(1):

这一段代码真实的格式是这样的

#include  
main() 
{
    int a=7; 
    while(a--)
        ; 
    printf("%d\n",a); 
}

所以说,while确实是没有用分号隔开的,只是while循环的语句是一个空语句而已,但是C里面循环体又不能不写,所以只写一个分号,表示不做任何操作。

在C里面,如果一个选择或者判断语句后面紧跟的只有一句代码,那么就不需要花括号。

所以你可以尝试改成

while(a--)
{
    ;
}

是一样的效果。

你也可以在分号前面添加一句代码进行测试

如下

while(a--)
    printf("[%d].Just for test.\n" , a );

网友(2):

while加分号,表示没有循环体。即是:当while的判断语句成立时,不执行任何语句,继续判断,知道不满足循环条件。