发布网友 发布时间:2024-09-26 17:47
共4个回答
热心网友 时间:2024-09-29 14:51
定义整型变量x并赋值为3,然后做do循环,其中“%3d"是输出格式控制,输出占3位靠右对齐,--x的意思相当于x=x-1;其中--x表达式的值跟x的值相等就是减过1后的值(如果是x--运行结果就不一样了,x--表达的值是x未减1之前的值,而x的值变为减1后的值)。while(!x)中!x是循环结束条件,当x=0时跳出,所以输出结果应该是
2
1
0
热心网友 时间:2024-09-29 14:58
首先x = 3
printf这句先计算--x (先减1)为2,然后输出格式为%3d,表示占3位,左边补0, 所以输出 __2 (__表示两个0看不见的);
然后while(!x) ,首先!x 也就是!2 == 0 ,while(0)条件为0 即False,退出循环。
所以最后输出2,不过它前面留两个数的位置 __2(__表示两个0看不见) .
热心网友 时间:2024-09-29 14:51
伙计。。。你的有语法错误啊。。。
热心网友 时间:2024-09-29 14:56
循环体执行一次,输出2
int x=3;
do
printf("%3d",--x);
while(!x);
while(!x)写清楚点就是 while((!x)!=0) 也就是while(x==0), 而printf("%3d",--x);执行完毕后x==2,2!=0,所以循环结束