问题 填空题

下面程序段的输出结果是 【8】
int x=5;
doprintf("%d ",x-=4);
while (!(--x));

答案

参考答案:1 -4

解析: 题目中首先让x=5,然后进入do-while循环体,输出x-4的值1,此时x为1,表达式!(--x)的值为!(0)为真(此时 x变为0),所以再次执行循环体,输出x-4的值-4,此时x为-4,表达式!(--x)的值为!(—5)为假,退出循环。故输出结果是1 -4。

单项选择题
填空题