
请告诉我,下面的两个表达式是否等价。 有三个条件 A, B, C 和两个 状态 a, b。
status = ( A && B && C ) ? a : b;
status = (A || B || C) ? b : a;
1 johnlui 2017 年 6 月 5 日 送分题,当然不等价。。。。。 |
2 U7Q5tLAex2FI0o0g 2017 年 6 月 5 日 明显不一样。 |
3 johnlui 2017 年 6 月 5 日 三者相同的时候就不等价了 |
4 forgcode 2017 年 6 月 5 日 不等! |
5 U7Q5tLAex2FI0o0g 2017 年 6 月 5 日 另外这跟 PHP 没关系,任何一种语言都适用。 楼主你学过计算机的基础吗 |
6 levin007 2017 年 6 月 5 日 不等价,A,B,C 都为 true 时,第一个 status 为 a,第二个为 b |
7 feiyuanqiu 2017 年 6 月 5 日 status1 = ( A && B && C ) ? a : b; status2 = (A || B || C) ? b : a; 当 A、B、C 都为假时,status1 = b, status2 = a 当 A、B、C 都为真时,status1 = a, status2 = b |
8 kkhaike 2017 年 6 月 5 日 应该是 (!A || !B || !C) ? b : a; |
9 U7Q5tLAex2FI0o0g 2017 年 6 月 5 日 解释太多了你们。 简单的就是 A && B == !A || !B |
10 banli OP 出题失误, 写错了 。 第二个表达是 (!A || !B || !C) ? b : a; 对不住啦。 |
11 mrgeneral 2017 年 6 月 5 日 高中数学吧,取反的时候符号和本身都得反啊。 如果是按照#10 修正的话,那就没区别了。 |
12 bukip 2017 年 6 月 5 日 数字逻辑再读一遍 |
13 U7Q5tLAex2FI0o0g 2017 年 6 月 5 日 @banli #10 A && B == !A || !B 这种已经是书里教过的“定理”之类的定论了吧,为什么要怀疑有猫腻? |
14 jiangzhuo 2017 年 6 月 5 日 我们管这门课叫离散数学?? |
15 grayon 2017 年 6 月 5 日 status = ( A && B && C ) ? a : b; = !( A && B && C )? b : a; = ( !A || !B || !C ) ? b : a; |
16 banli OP 哦哦。 明白了。 效率就是快 |
17 U7Q5tLAex2FI0o0g 2017 年 6 月 5 日 @jiangzhuo #14 好像是这个学的 https://book.douban.com/subject/1268628/ |
18 bravecarrot 2017 年 6 月 5 日 via iPhone 肯定不会等价 建议 lz 遇到这种不清楚逻辑的画个真值表 |
21 vingz 2017 年 6 月 5 日 不等价,特例,A\B\C 都为 true 的时候 |
22 U7Q5tLAex2FI0o0g 2017 年 6 月 5 日 @geelaw #19 哈哈 是的是的 尴尬了 |
23 Sapp 2017 年 6 月 5 日 压根没仔细看都不可能等价.... |
24 mingyun 2017 年 6 月 10 日 15 楼正解 |