a=5; b=a++; c=--a-b++; d=(a++)-(++b)+c--; 关于c语言的,我想知道a的结果为什么是6而不是5

如题所述

a=5; b=a++; a 加了一次
c=--a-b++; a 减了一次
d=(a++)-(++b)+c--; a 加了一次

所有共 加了一次,= 6
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-20
a=5

b=a++ ===> b=5 a=6
c=--a-b++==> c=5-5=0,a=5,b=6
d=(a++)-(++b)+c--====>d=5-7+0=-2, a=6,b=7,c=-1
++a和a++有个计算顺序的问题,++a是先计算++再计算其他,a++是先计算整个表达式最后计算++
比如b=a++,此时先计算b=a,然后计算a++
b=++a的话,先计算++a然后计算b=a
第2个回答  2013-02-20
简单地说,你只要关注A就行了,a前或后为加,你就相应的加一,为减就减一
第3个回答  2013-02-20
a就是6啊,一次++,一次--,一次++,最后a就+了一次
第4个回答  2013-02-20
关注a的值的动向,a的计算顺序。
相似回答