永发信息网

一个C++的问题。对加赋值和减赋值和乘赋值和除赋值和模赋值不太明白是什么意思。所以我对图中打了个问

答案:4  悬赏:80  手机版
解决时间 2021-11-07 02:11
一个C++的问题。对加赋值和减赋值和乘赋值和除赋值和模赋值不太明白是什么意思。所以我对图中打了个问
最佳答案
m+=n*=p-=1
的赋值是从右向左进行的,即:
p=p-1 得p=2
n=n*p 得n=4
m=m+n 得m=5
全部回答
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)
在一般的C++编译器里面,算术运算表达式是用栈实现的,读入表达式的时候从左向右压栈,出栈的时候从右向左,因此m+=n*=p-=1从右向左执行。因此,表达式带上括号:
m+=(n*=(p-=1))
输出结果:
p = 2, n = 4, m = 5追问采纳错了。本来想采纳你的。不过也无所谓了追答没关系,问题弄明白就好

首先你要知道两点:

  1. a += 1,a *= 1等等是a = a + 1、a = a* 1的简写

  2. 赋值符号从右往左运算

然后再看那个表达式,就有

  1. p = p - 1

  2. n = n * p

  3. m = m + n

按1、2、3的顺序计算,就得到

  1. p = 3 - 1 = 2

  2. n = 2 * 2 = 4

  3. m = 1 + 4 = 5

----------------------------------------------------

以上。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
农村家用燃煤采暖炉哪个好啊
什么是中式生活?
DNA 带什么电荷
外墙渗水直接刷防水涂料可以吗
什么男士凉鞋最好哪个牌子的?
求求大家了,
75年农历六月二十八出生人的星座和爱情
异地五年,我觉得很多感觉都变了。
各位老大,能强的瓷砖好不好!
苹果4s不能正常开机是怎么回事
为什么每次炒菜,葱都糊了
白色无袖修身背心应该配什么衣服
买回来的白菜几天后根烂了问把根去掉能吃吗
金博服务站地址有知道的么?有点事想过去!
文雅好听还是文晓雅??
推荐资讯
浙江310省道上虞规划图
人保财险禄劝支公司车驾管社会服务站地址在哪
求美人鱼台词截图 他说我很帅,试问谁不知道
砚山县洪福邮政所地址在哪,我要去那里办事
我国男足前国脚我国姓李男足前国脚前国脚都有
自学韩语的教材什么比较好
伊旗有没有证券公司
那位大神有js32.dll文件或者能用的修复软件?
河南省浚县士地承包补贴政策
在所租房子期间丢了东西,可以向房东索赔吗
急!应届毕业生,档案户口在学校,如何办理
岳阳南大队的违章在哪处理
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?