下列程序段的输出结果是()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))不成立,停止循环。