一个简单的c语言题目

#include <stdio.h>
int main()
{ int k=3;
while (k--);
printf("%d\n",++k);
return 0;
}这个程序的输出是0,为什么呢?我觉得是个无限循环输出3。详细解释一下,我是初学者。3q

因为你的while(k--);后面有;号,所以就一直在执行K--直到它为-1,即使假就跳出while()循环了,到printf()语句的时候,先++,再输出所以现在是K为0。追问

“while(k--);后面有;号”是关键,我做的时候没仔细。不过后面你解释错了,先加再输出,可能你也是不仔细吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-21
while(k--) 减到 -1 才退出,然后加1 就输出0 了