c语言while循环的一些问题。急

来源:百度知道 编辑:UC知道 时间:2024/05/19 15:17:53
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
将这个程序的while后面的”;“去掉(while(y--))结果为什么不一样
书上写的本来while后面不接';'的。请帮我解释一下。

如果你在 while后面加上这个分号,相当于:
while (y--)
;
这样一来,循环体其实是一个“空语句”,printf("y=%d\n",y)不再属于循环体啦。虽然不是死循环,但是导致的结果是,只能看到一行执行结果,就是y=0 。

这......

while是条件判断语句,y--是语句中的判断条件,";"是语句结束的判断,没有当然不一样了.

还有我想问句,这个程序不是进入死循环了吗?