S1E10关系算符和逻辑算符课后题求助。(运算符的优先级和结合性问题)
萌新有1个关于运算符的优先级和结合性的问题请教。(题目是带你学c带你飞S1E10里的)请用小括号和数字序号体现表达式中运算符的优先顺序,并口算出表达式的值(下边假设变量 a、b、c、d 的值分别是 1、2、3、4)
C. 'a' + 'b' <= 'c' || a / b + d % c
写成:(('a' + 'b')1 <= 'c')2 || ((a / b)3 + (d % c)4)5
求值:((97 + 98) <= 99) || ((1 / 2) + (4 % 3)) == (195 <= 99) || (0 + 1) == 1
(这是小甲鱼给的答案)
但/ %的优先级不是大于+吗 为什么要从左到右先算加呢?
先谢谢各位大大啦~
下面图是不小心放上去的,请大大们忽略~ 先算 / %,再算加减。a / b 和 d % c 被小括号包围起来了。 zltzlt 发表于 2020-3-11 18:23
先算 / %,再算加减。a / b 和 d % c 被小括号包围起来了。
后面小括号是答案给的计算过程,表示计算的顺序~那就是说是答案错了吗? 是先算的/和%后算的+啊??? 运算符的优先级和结合性不是有一张表吗?你们有没有找到啊?我现在也在找 E:\办公\QQ文件\2560494041\FileRecv\MobileFile\IMG_20200220_155050.jpg 对牛弹琴的三高C 发表于 2020-3-12 09:18
运算符的优先级和结合性不是有一张表吗?你们有没有找到啊?我现在也在找
还没有上传图片的权限{:9_234:} 先运算的/ %,
C. 'a' + 'b' <= 'c' || a / b + d % c
程序读到a+b<=c||a/b+d%c;
首先程序先读到了a+b<=c;会先计算97+98=195再计算195<=99;
下面才是||,然后a/b+d%c;||的优先级低于+-*/
计算a/b+d%c;
/和%优先级相同,结合性是左到右;
先计算a/b,再算d%c;
写成:(('a' + 'b')1 <= 'c')2 || ((a / b)3 + (d % c)4)5
求值:((97 + 98) <= 99) || ((1 / 2) + (4 % 3)) == (195 <= 99) || (0 + 1) == 1
(这是小甲鱼给的答案)
但/ %的优先级不是大于+吗 为什么要从左到右先算加呢? 小甲鱼给的答案是正确的,/%优先级大于+- 的前提是他们在一个表格式里面,否则,先读到谁计算谁。
这么简单的问题。你就懵圈了,还怎么进阶成大佬呢。 剑御玫瑰 发表于 2020-3-12 10:52
还没有上传图片的权限
我已经找到了,谢谢
本来也是想分享出来的,我也没有上传图片的权限{:9_234:} 先是a/b = 1/2 = 0然后再d%c = 4%3 = 1最后 0+1 = 1,因为||的运算等级最低,所以最后再相或,就是这样啊
页:
[1]