若有以下语句 int x =3; do { printf ("% d ", x -=2);} while (!(-- x ));
就是当!(--x)为真时继续执行循环等价于--x等于0时继续执行循环
1,x=x-12,!x,x真时!x为假,x假时!x为真。就是先把x减一,然后判断x是不是0,要是就继续,要不是就结束do。
!逻辑反操作符可以把真的变成假的,假的变成真的--x 前置--,意思就是先把x-1,再使用这个表达式