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

* / %这三个运算符的优先级不是一样的嘛,那为什么在% 和/两个符号中,先算%答案是12,先算/答案是11??

*  /   %这三个运算符的优先级不是一样的嘛,那为什么在% 和/两个符号中,先算%答案是12,先算/答案是11??

https://img1.sycdn.imooc.com//5ac87d07000138ac12840856.jpg

正在回答

4 回答

优先级相同时从左到右计算,先算/本身是不符合逻辑的

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

___TINGWEN 提问者

终于get到点了,应该是在运算符优先级相同时,按运算符结合性规定的结合方向进行处理,这三个运算符优先级相同,结合性是自左至右,所以是12这样的答案. 笔芯❤❤❤
2018-04-07 回复 有任何疑惑可以回复我~

%、/、*这三个运算符优先级别是一样的。所以第一种正确,答案为12.5acadbcc0001453d04210278.jpg

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

嗯?那这个不科学呀,你看,比如a = 1,b = 2,c = 3的话,这样一个表达式,a + b - c,先算+的话是,3-3 = 0;

先算-的话是1+(-1) = 0,z这个都是可以的么,数学中的思想不就是,运算符优先级相同的话,不管先计算哪个结果都会一样的么...(你说的我是理解的,对于计算机来说的话,遇到优先级相同的,必然是从左往右来计算的,但是对于人来说,为啥这两个优先级相同的运算符,先算和后算结果会不一样???很奇怪)

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

优先级肯定不同啦,%的优先级比*和/的高


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

___TINGWEN 提问者

啊?这不科学吧,我看书上写的是在同一个优先级下的呀,C程序设计(谭浩强)
2018-04-07 回复 有任何疑惑可以回复我~
#2

___TINGWEN 提问者

终于get到点了,应该是在运算符优先级相同时,按运算符结合性规定的结合方向进行处理,这三个运算符优先级相同,结合性是自左至右,所以是12这样的答案.
2018-04-07 回复 有任何疑惑可以回复我~
#3

_开心

有括号的,先算括号里的。然后按照优先级的顺序,优先级相同的,自左向右。当然还有几个自右向左的。
2018-04-10 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

* / %这三个运算符的优先级不是一样的嘛,那为什么在% 和/两个符号中,先算%答案是12,先算/答案是11??

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