这个表达式为什么是这样子算的呀有没有大佬解释一下
E. a = b - c || a % b && c / d写成:a = ((b – c)4 || ((a % b)1 && (c / d)2)3)
求值:a = ((b - c) || (1 && 0)) == a = (3 - 4) || 0 == a = (-1 || 0) == a = 1
逻辑运算应该是从左到右算的吧,右结合的,为什么要先算后面的逻辑与而不是先算前面的逻辑或呢 b,c都没指定值吗?
a = ((b – c)4 || ((a % b)1 && (c / d)2)3)
是这个吗 a = ((b – c)*4 || ((a % b)*1 && (c / d)*2)*3) 可以去看看这一篇
运算符的优先级和结合性
https://fishc.com.cn/thread-67664-1-1.html
(出处: 鱼C论坛)
李京 发表于 2022-1-9 11:10
可以去看看这一篇
运算符的优先级和结合性
https://fishc.com.cn/thread-67664-1-1.html
这个我知道 大马强 发表于 2022-1-9 09:47
b,c都没指定值吗?
a = ((b – c)4 || ((a % b)1 && (c / d)2)3)
是这个吗 a = ((b – c)*4 || ((a % b)* ...
abcd 的值分别是1、2、3、4,上面的数字是运算顺序 Mythic 发表于 2022-1-10 10:11
这个我知道
我就是不太懂,为什么要这个顺序,加减乘除不影响这个逻辑的运算吧 Mythic 发表于 2022-1-10 10:15
我就是不太懂,为什么要这个顺序,加减乘除不影响这个逻辑的运算吧
搞不清楚优先级就活用括号 Mythic 发表于 2022-1-10 10:15
我就是不太懂,为什么要这个顺序,加减乘除不影响这个逻辑的运算吧
a = b - c || a % b && c / d
优先级排序:
运算符优先级
%3
/3
-4
&&11
||12
jhq999 发表于 2022-1-10 12:57
搞不清楚优先级就活用括号
这个咋说呀大佬怎么括法 傻眼貓咪 发表于 2022-1-10 21:33
a = b - c || a % b && c / d
优先级排序:
好的谢谢你懂啦 本帖最后由 jhq999 于 2022-1-10 23:35 编辑
Mythic 发表于 2022-1-10 21:39
这个咋说呀大佬怎么括法
借用楼上
a = b - c || a % b && c / d;
a=(b-c)||((a%b)&&(c/d));//如果想先a % b && c / d
a = ((b - c )|| (a % b)) &&( c / d);//如果想先 b - c || a % b
a =(((b - c )|| (a % b)) && c)/d;
页:
[1]