一个C++的问题。对加赋值和减赋值和乘赋值和除赋值和模赋值不太明白是什么意思。所以我对图中打了个问
答案:4 悬赏:80 手机版
解决时间 2021-11-07 02:11
- 提问者网友:喧嚣尘世
- 2021-11-06 14:32
一个C++的问题。对加赋值和减赋值和乘赋值和除赋值和模赋值不太明白是什么意思。所以我对图中打了个问
最佳答案
- 五星知识达人网友:西风乍起
- 2021-11-06 15:50
m+=n*=p-=1
的赋值是从右向左进行的,即:
p=p-1 得p=2
n=n*p 得n=4
m=m+n 得m=5
的赋值是从右向左进行的,即:
p=p-1 得p=2
n=n*p 得n=4
m=m+n 得m=5
全部回答
- 1楼网友:詩光轨車
- 2021-11-06 19:59
p=p-1
n=n*p;
m=m+n;
例如:m=1,n=2,p=3;则结果为p=2(因为3-1),n=4(因为2*p),m=5(因为1+n)
n=n*p;
m=m+n;
例如:m=1,n=2,p=3;则结果为p=2(因为3-1),n=4(因为2*p),m=5(因为1+n)
- 2楼网友:傲气稳了全场
- 2021-11-06 18:29
在一般的C++编译器里面,算术运算表达式是用栈实现的,读入表达式的时候从左向右压栈,出栈的时候从右向左,因此m+=n*=p-=1从右向左执行。因此,表达式带上括号:
m+=(n*=(p-=1))
输出结果:
p = 2, n = 4, m = 5追问采纳错了。本来想采纳你的。不过也无所谓了追答没关系,问题弄明白就好
m+=(n*=(p-=1))
输出结果:
p = 2, n = 4, m = 5追问采纳错了。本来想采纳你的。不过也无所谓了追答没关系,问题弄明白就好
- 3楼网友:过活
- 2021-11-06 17:28
首先你要知道两点:
a += 1,a *= 1等等是a = a + 1、a = a* 1的简写
赋值符号从右往左运算
然后再看那个表达式,就有
p = p - 1
n = n * p
m = m + n
按1、2、3的顺序计算,就得到
p = 3 - 1 = 2
n = 2 * 2 = 4
m = 1 + 4 = 5
----------------------------------------------------
以上。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯