作业帮 > 综合 > 作业

以下程序段的输出结果是int x=3;

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/01 13:54:56
以下程序段的输出结果是int x=3;
以下程序段的输出结果是
int x=3;
do
{printf(”%3d”,x-=2);}
while(!(--x));
请写明原因,
以下程序段的输出结果是int x=3;
程序的输出结果是: 1 -2
第一次执行循环体: 输出1 此时x=x-2=3-2=1
判断条件 !(--x) 结果为 真 //此时x再减1 变成 x=0
第二次执行循环体: 输出-2 此时x=x-2=0-2=-2
判断条件 !(--x) 结果为 假 // 此时x再减1 变成 x=-3
循环条件为假 整个循环到此结束.
所以输出结果是 1 -2
再问: 为什么!(--x)= !(-3) 结果为 假 不是说!(1) 结果才为假呀?