main(){intx=3;do{printf("%d\n",x-=2);}while(!(–x));}上面的程序输出是:
输出:
1
-2
原因:
第一次循环:x-=2=3-2=1,所以打印出1,判断条件:!(–x),–x使得x=0,!(0)条件为true,继续循环
第二次循环:x-=2=0-2=-2,所以打印出-2,判断条件:!(–x),–x使得x=-3,!(-3)条件为false,退出循环
main(){intx=3;do{printf("%d\n",x-=2);}while(!(–x));}上面的程序输出是:
输出:
1
-2
原因:
第一次循环:x-=2=3-2=1,所以打印出1,判断条件:!(–x),–x使得x=0,!(0)条件为true,继续循环
第二次循环:x-=2=0-2=-2,所以打印出-2,判断条件:!(–x),–x使得x=-3,!(-3)条件为false,退出循环