濛烟如尘 发表于 2014-9-3 18:01:23

不理解求解析

main()
{
int x=2
while(x--);
printf("%d\n",x);
}
求解释为什么该题答案为-1。

漩涡鸣人 发表于 2014-9-3 18:35:38

后自减:先运算后自减
为0退出循环之后--变成-1

blanc 发表于 2014-9-7 23:00:33

while( x-- );    //这一句
//相当于
while( x-- )
{
          /* 空语句*/
}
当 x = 0 的时候退出循环
而且还有 在后面的自减运算符
就等于退出循环后 x = x - 1;
此时输出x的值就是-1了。

濛烟如尘 发表于 2014-9-13 22:33:34

blanc 发表于 2014-9-7 23:00
while( x-- );    //这一句
//相当于
while( x-- )


谢谢,明白啦!
页: [1]
查看完整版本: 不理解求解析