以下程序段的输出结果是 main () { int x = 4 ; do

以下程序段的输出结果是
main ()
{ int x = 4 ;
do
{ printf ( "%4d", x -= 3 ); } while ( !( -- x )) ; }
A. 1 -2 B. 3 -2
C. 1 -3 D. 不输出

第1个回答  2014-12-27
选C。
do...while循环顺序:先做循环体,后判断;
结合题目,具体如下:
①x=4,进入循环,执行x-=3,得到x=1,输出1;
②x=1,做while部分,先--x,即x=0,所以,!x 为真,继续循环;
③x=0,执行x-=3,得到x=-3,输出-3;
④x=-3,做while部分,先--x,即x=-4,所以,!x为假,退出循环,程序结束。

*判断时,0为假,非0为真。本回答被提问者和网友采纳