问题 单项选择题

有以下程序段:
int x=3;
do

printf("%d",x-=2);

while(!(--x));
其输出结果是______。

A.1

B.3 0

C.1 -2

D.死循环

答案

参考答案:C

解析:[评析] 本题中循环执行了两次,第一次,执行完printf语句后,x=1,而-x是先自减后执行语句,所以(!(-x))的值为非零,所以又执行了一次。第二次x的值为-2,--x的值为-3,求非后,值为0,跳出循环。

单项选择题
判断题