#include <stdio.h>
int main() {
int x = 3;
do {
printf("%d", x -= 2);
} while (!(--x));
return 0;
}
第一次循环输出1,x值为1,然后while处理先--x使得x变为0,!0是成立的,所以继续循环,输出-2,此时--x为-3,!(-3)不成立,结束
输出的结果是 1-2啊
因为第一次输出后x为1,--x
为0,!--x
为真,所以继续运行并输出-2
输出-2后,--x不为0,!--x
条件为假,退出循环有帮助望采纳~