早教吧 育儿知识 作业答案 考试题库 百科 知识分享

有以下程序题;intx=3;do{printf("%3d",x-=2);}while(!(--x));程序段的输出结果是:A)1B)30C)1-2D)死循环我不知道while(!(--x))怎样看

题目详情
有以下程序题;
int x=3;
do
{printf("%3d",x-=2);}
while(!(--x));
程序段的输出结果是:
A)1 B)3 0 C)1 -2 D)死循环
我不知道while(!(--x))怎样看
▼优质解答
答案和解析
x-=2,x=1,打印出1;
--x,x=0
!(0)=true;
x-=2,x=-2;打印出-2;
!(-3)=false;
循环结束;
除了0之外,所有数字转换成布尔值都是true;