这一段代码真实的格式是这样的
#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 );
while加分号,表示没有循环体。即是:当while的判断语句成立时,不执行任何语句,继续判断,知道不满足循环条件。