一个常年写 C 做硬件开发的朋友看到这段代码后问我说为什么不是返回 1 而是'hello', 觉得很诡异很不能理解,我觉得很自然,该怎么回答她,向来不都是这样的么?
1
SuperMild 2017-09-21 16:46:43 +08:00
语言标准里||的功能写得明明白白啊
|
2
am241 2017-09-21 16:48:23 +08:00 via Android
c 里面会返回真值 1/0
|
3
nousername2030 2017-09-21 16:57:59 +08:00
没学过 c 语言吗,这个是理工科的基础课吧。
|
4
ipwx 2017-09-21 16:59:37 +08:00
我觉得你和她半斤八两。
|
5
clino 2017-09-21 17:01:00 +08:00 1
楼主没学过 c 吧?c 的方式就是那样啊
你要说清楚 javascript 的思维方式,不过看你说"向来不都是这样的么"感觉你也不容易说清楚. |
6
nullcoder 2017-09-21 17:03:36 +08:00
c 没有 var 这种变量类型
|
7
yujiff 2017-09-21 17:36:05 +08:00
很明确啊!何来诡异?
|
8
oott123 2017-09-21 17:59:31 +08:00 via Android
连 php 都是返回 true。
对强类型语言而言,逻辑运算符返回布尔值十分合理啊。 |
9
geelaw 2017-09-21 18:07:32 +08:00 via iPhone
因为 C 语言里 || 只能返回 0/1
|
10
lightening 2017-09-21 18:10:41 +08:00
@oott123 C 是弱类型。
|
11
oott123 2017-09-21 18:16:58 +08:00
|
12
lslqtz 2017-09-21 22:32:56 +08:00
'' == false;
true '' === false; false |