int x=3;
do
{
printf("%3d",x - =2);
}
while(!(--x));
整个执行过程为:
int x=3;
//赋值
do{
x=x-2;
//赋值后 x=1;
printf 输出 1
}while(!(--x))
//先x=x-1=1-1=0 ,使用则为while(!0)
== while(1) 返回 do
do{
x=x-2;
//
x=0-2=-2;
printf
输出 -2;
}while(!(--x))
// x=-2-1=-3,while(!(-3)) == while(0) 退出循环
所以最后输出为
1
-2
要理解!(--x)之后就很容易了
还有 printf 一般是从右往左执行的!