下列程序段的输出结果是()int  x=2;do  printf("%d,",x--);while(!(--

下列程序段的输出结果是()
int  x=2;
do  
printf("%d,",x--);
while(!(--x));


A、

2,


B、

1,0,


C、

2,1,


D、

2,0,


【正确答案】:D
【题目解析】:

do-while循环先执行后再判断循环。依题,
int  x=2;                               //  已知条件x=2
do                                             
printf("%d,",x--);  //   ①执行输出2, x--=1;②输出0,x--=-1
while(!(--x));                    //   ①--x,先自减后参与运算,x=0,!0不为零,while(!(--x))成立,循环执行;②--x=-2,!x为假,while(!(--x))不成立,停止循环。