C++简单运算,请解释一下
inta=2,b=3,c=4;b+=--a+b++–--c;cout<<"a="<<a<<"b="<<b<<"c="<<c<<endl;尽量详细点,谢谢啦!!答案是:a=...
int a = 2, b = 3, c = 4;
b += --a + b++ – --c;
cout << "a = " << a << " b = " << b << " c = " << c << endl;
尽量详细点,谢谢啦!!
答案是: a = 1 b = 5 c = 3
能不能解释一下这步 b++ – --c; 展开
b += --a + b++ – --c;
cout << "a = " << a << " b = " << b << " c = " << c << endl;
尽量详细点,谢谢啦!!
答案是: a = 1 b = 5 c = 3
能不能解释一下这步 b++ – --c; 展开
5个回答
展开全部
- - a =1;a=1; b + + = 3;b=4; (- - a) + (b + + ) = 4; - - c = 3;c=3;
(- - a) + (b + + ) | - - c = 1; (b + = 1) => (b = b + 1=5)
所以答案是a=1 b=5 c=3
你刚问的这个是或符号,非零就等于1,例如3|4=1,你的提问 有点错误,
--a + b++ – --c 是个整体,四则运算符的优先级最高,|应该排在其后,不明白的可以再提问,谢谢
(- - a) + (b + + ) | - - c = 1; (b + = 1) => (b = b + 1=5)
所以答案是a=1 b=5 c=3
你刚问的这个是或符号,非零就等于1,例如3|4=1,你的提问 有点错误,
--a + b++ – --c 是个整体,四则运算符的优先级最高,|应该排在其后,不明白的可以再提问,谢谢
展开全部
--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了
b++ 后置的++,在这个算式中b的值还是3 没有变,等号后面运算完后b才会变成4
--C 前置的--,立马就改变C的值,是3
所以变成了
b+=1+3-3 这里的b已经变成4了
也就是 b=4;b+=1;所以b是5
这里要注意的就是前置++ -- 和后置++ --的区别,你可以再试试b++换成(++b) 最后结果就是6了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
即
b=b+--a+b++-(--c)
=3+1+3-3
=4
上式中有--a,b++,--c,因此执行后a=1,b=5,c=3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重要的是你要理解运算符的优先级:自增运算符>加减运算符
所以程序执行过程是这样:先a自减1 此时a==1;然后b自加1 此时b==4,c自减1 此时c==3,
最后b+=1+4-3,这个过程中最左边的b==3,当这个过程执行完后b=3+(1+4-3)=5;
很详细了
所以程序执行过程是这样:先a自减1 此时a==1;然后b自加1 此时b==4,c自减1 此时c==3,
最后b+=1+4-3,这个过程中最左边的b==3,当这个过程执行完后b=3+(1+4-3)=5;
很详细了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=2==>- - a =1;
b=3==> b + + = 4
c=4==>- - c = 3;
b=3(b)+1(- - a)+4( b + +)-3(- - c )=5
b=3==> b + + = 4
c=4==>- - c = 3;
b=3(b)+1(- - a)+4( b + +)-3(- - c )=5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询