这个结果怎样运行的,结果是什么

int main()

{

int x=3;

do

{ 

    printf(“%d”,x-=2);

 } while (!(--x));  

}

1 ,-2

1-2
//第一次输出1,--x为0 ,!0为1,继续循环
//输出-2,--x为-3 !-3为0,结束循环

执行顺序是这样的:

  1. 执行do的语句, x = 1 打印 1,
  2. 执行while语句,--x 表示,先判断后运算,因此先进入do中,再运算 x=0,所以在do中 x=-2,打印-2

有帮助 请采纳~

#include <stdio.h>

int main()

{
    int x=3;
    do
    {
        printf("%d",x-=2);      
    }while (!(--x));  
}