C语言中while怎么运算。

#include "stdio.h"
void main()
{
int a = -2, b = 0;
while(a++)
{
++b;
}
printf("%d,%d\n",a,b);
}
像这个该怎么运算,运算过程是什么,麻烦解释一下,谢谢了。

a=-2,b=0
while(-2)然后a才加一,a=-1
执行循环,b先加一,b=1
while(-1)然后a才加一,a=0
执行循环,b先加一,b=2
while(0)然后a才加一,a=1
不执行循环了,所以++b不执行,b=2
所以最终结果a=1,b=2
望采纳。。。。。。追问

a++在输出的时候也加一吗,a++不是先调用后自加吗,输出的时候为什么输出0

追答

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-08
你的a是负值,所以,由于是自加,因此,先用后加,输出的结果是,a加过1的值,而b的值未发生改变。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网