而我用 if (a == -1) break; 就一切正常,搞不懂
请问各位大佬,错在哪里啊?
请问各位大佬,错在哪里啊?
1
sarvatathagata Apr 30, 2020
break 是一条语句,不能被转换成一个值。然而&&操作符的两侧必须是值
|
2
kiracyan Apr 30, 2020
这编译报错吧
|
3
phpfpm Apr 30, 2020 看了你的头像,我发出了沉思:可能你入错行了。。
|
4
DL9412 Apr 30, 2020
个人理解,逻辑运算符两端都应该是一个值,或者能输出值的表达式。break,return,continue 都没法转换为值。
你 Boolean(break)也会报一样的错误。 看见一个类似的问题 http://stackmirror.caup.cn/page/rh50ycxwvuig |
5
liuxiaohua Apr 30, 2020
楼主这是哪门子的语法 第一次见
|
6
kumasama Apr 30, 2020
哪有这种语法,不加&&多简洁
|
7
Cielos OP |
8
hbolive Apr 30, 2020
头像把我吸引进来的。。
|
9
annielong Apr 30, 2020
老老实实按语法走不好吗、
|
10
sneezry Apr 30, 2020 via iPhone 是参考了 make && make install 么 (doge
|
11
vicnicLight007 Apr 30, 2020
请给我你头像的高清大图链接,谢谢
|
12
krixaar Apr 30, 2020
我大概明白了,因为 true && expr2 返回 expr2,所以楼主认为 true && break;返回 break;,然后 for 循环就被 break 了🤣
break;是个 statement (语句)不是 expression (表达式),所以不能用在这里🤣 参考: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Expressions_and_Operators |
14
LG3xFA6kpn88HxEW Apr 30, 2020
大大大(指代码
doge |
15
fengtons Apr 30, 2020 via Android 这种写法估计是 SHELL 写多了
|
16
InkStone Apr 30, 2020
其实如果 break 不是一个语句是一个表达式的话,这样写问题不大。
毕竟 C 的短路求值是标准行为。 |
17
autoxbc Apr 30, 2020
1. 代码要语义化,看起来在做的事情就应该是你真的希望做的事情
2. 不要利用副作用,副作用可能被标准化,也可能不是 |
18
liuzhiyong Apr 30, 2020
劝告楼主不要这样操作,代码首要任务是可读性,况且你这奇怪写法还没有性能提升。
|
19
Takamine Apr 30, 2020
我记得 PHP 里面有这种写法来着,不如试试上手世界上最好的语言。:doge:
|
20
lizz666 Apr 30, 2020
|
21
xingheng Apr 30, 2020
Hello, world!
Goodbye, world! |
22
cigarzh May 2, 2020
shell 写多了……
|