#include<stdio.h>
main()
{
int i=6;
while(i--)
printf("%d",--i);
printf("\n");
}
输出结果是420, 请解释一下这段代码具体是怎么运行的
我想知道为什么最后是输出420
上述代码实质是这样:
main()while 判断之后执行 --,i 递减为5,然后执行 printf ,因为 printf 中 -- 前置,i 再递减为4。
所以先输出了4。
然后重复一次,输出为2。
再重复一次,输出为0。这时候 while 判断 i 为0,中止循环。(如果这时候再 printf ,会看到 i 为-1。
为什么最后会输出420?
追答是分别输出了三次,第一次输出了4,第二次输出了2第三次输出了0,而不是一次输出了四百二十(420)。
如果你改下,把 printf("%d",--i); 改为 printf("%d\n",--i); 就能看到是分成三行输出的。
代码没有错,我自己试过了,最后输出结果是420