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