打破简写的if语句[重复]
Posted
技术标签:
【中文标题】打破简写的if语句[重复]【英文标题】:Breaking out of shorthanded if statement [duplicate] 【发布时间】:2016-02-07 07:12:33 【问题描述】:我喜欢使用简写的“if 语句”格式
if-condition?then-statement:else-statement
为什么这行得通...
if (num==0)break;else continue;
这不是吗?
num==4?break:continue;
认为这两个语句在逻辑上是等价的。
【问题讨论】:
您的问题是基于错误的前提。正确的语法是 if-condition ?表达式:表达式。 【参考方案1】:第一个是语句,第二个是表达式。不能在表达式中使用语句。
if
的语法是:
if (<expression>) <statement> [else <statement>]
表达式的语法是:
<Boolean expression> ? <expression> : <expression>
语法不允许在表达式中使用语句。
【讨论】:
−1 而不是修复这个(这会使它变得面目全非)我只是注意到例如42
是一个表达式,42;
是一个语句。
@Cheers-and-hth-Alf,他仍然不能在表达式中声明。关于将表达式转化为语句,我只字未提。什么是反对票?
这里都是陈述。它的break
不能用作?:
的操作数,因为break
是一个语句并且此运算符需要表达式。
@hacks,所有运算符都需要表达式。
感谢您的解释。以上是关于打破简写的if语句[重复]的主要内容,如果未能解决你的问题,请参考以下文章