第1个回答 2020-01-24
//第一次循环
while(--n) //先执行--n,判断n=3,继续循环
{
printf("%d ",--n); //先执行--n,结果n=2,再传递n值,输出为2
}
//第二次循环
while(--n) //先执行--n,判断n=1,继续循环
{
printf("%d ",--n); //先执行--n,结果n=0,再传递n值,输出为0
}
//第三次循环
while(--n) //先执行--n,判断n=-1,继续循环,到此处n已经是负值,
{
printf("%d ",--n); //先执行--n,结果n=-2,再传递n值,输出为-2
}
/********************************************************************/
//第一次循环
while(n--) //先判断n=4,继续循环,再执行n--,结果n=3
{
printf("%d ",--n); //先执行--n,结果n=2,再传递n值,输出为2
}
//第二次循环
while(n--) //先判断n=2,继续循环,再执行n--,结果n=1
{
printf("%d ",--n); //先执行--n,结果n=0,再传递n值,输出为0
}
//第三次循环
while(n--) //先判断n=0,结束循环,再执行n--,结果n=-1
{
printf("%d ",--n);
}