超级简单C语言问题

来源:百度知道 编辑:UC知道 时间:2024/06/29 23:45:57
#include<stdio.h>
main()
{int x=2;
while(x--);
printf("%d",x);
}
我就是不明白上面的运行结果为什么是-1

那位兄台能帮助一下感激不尽!!!!
当(x--)等于0时x应该是1才对亚
是不是先以x作为表达式的值再自减

X--这个表达式是先取X的值作为表达式的值,再自减.while(X--)后面是一个;说明这个循环后面是一个空语句.第一次循环后表达式值=2,X=1,第二次循环后表达式值=1,X=0,第三次进循环时,由于表达式=0条件不成立,结束循环,但这时X--已经执行完了,X=-1.所以下面输出X时是-1