第1个回答 2011-02-01
--C 前置的--,立马就改变C的值,是1
b++ 后置的++,在这个算式中b的值还是3 没有变,等号后面运算完后b才会变成4
--C 前置的--,立马就改变C的值,是3
所以变成了
b+=1+3-3 这里的b已经变成4了
也就是 b=4;b+=1;所以b是5
这里要注意的就是前置++ -- 和后置++ --的区别,你可以再试试b++换成(++b) 最后结果就是6了
第2个回答 2011-01-31
b += --a + b++-(--c);//加括号才能在VC++ 2005中编译
即
b=b+--a+b++-(--c)
=3+1+3-3
=4
上式中有--a,b++,--c,因此执行后a=1,b=5,c=3
第3个回答 2011-01-31
重要的是你要理解运算符的优先级:自增运算符>加减运算符
所以程序执行过程是这样:先a自减1 此时a==1;然后b自加1 此时b==4,c自减1 此时c==3,
最后b+=1+4-3,这个过程中最左边的b==3,当这个过程执行完后b=3+(1+4-3)=5;
很详细了
第4个回答 2011-01-31
a=2==>- - a =1;
b=3==> b + + = 4
c=4==>- - c = 3;
b=3(b)+1(- - a)+4( b + +)-3(- - c )=5