为了账号安全,请及时绑定邮箱和手机立即绑定

算法的先后顺序

int a =3; b = 4;计算a+b%(a+b)/a+a*b-b的运算结果。

前面是3+4%7/3+8。

这里简化可以写成11+4%7/3。

那么问题来了%/如果是同一优先级的话,为什么要从左往右运算4%7=4再除以3=1?

为什么先7/3在被4%等于11+0=11?

正在回答

3 回答

按优先级来算的话,就要先算加号两边的b%(a+b)/3和a*b。而b%(a+b)/3,先算括号里的再从左往右即 b对a+b求余再除以a、也就是4对7求余等于3再除以3就等于1加a。所以加号左边就等于4.而右边是3*4-4=8.再相加就是4+8=12

0 回复 有任何疑惑可以回复我~
#1

JiGee 提问者

首先4%7是等于4,除以3,因为没有小数,所以才等于1. 其次,我的意思是“先算括号里的再从左往右即 b对a+b求余再除以a”这个为什么一定要从左往右?是规定吗?
2016-04-26 回复 有任何疑惑可以回复我~
#2

A_qian_ 回复 JiGee 提问者

就像你数学的加减法啊,相同级别的不都是从左往右吗
2016-05-07 回复 有任何疑惑可以回复我~

在数学中。100x4/2=200,无论优先算那个都是等于200,但是我不清楚这里为什么不行咯?

0 回复 有任何疑惑可以回复我~


 话说从左往右正常的吧 


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       924411    人
  • 解答问题       20753    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

算法的先后顺序

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信