SELECT (MIN(Time))+'-'+(MAX(Time))Period,avg(Power) Average from table_name where Power < 1000
显示man operator
,它是什么,手册页错误?
etc.
答案 0 :(得分:3)
一个you mentioned未列出所有赋值运算符,因此它使用etc.
(etc == et cetera)来表示这不是详尽的列表。这不是错误,etc.
都不是C中的运算符/关键字(想到提及,FWIW )。
other version列出了所有这些内容。
= += -= *= /= %= <<= >>= &= ^= |=
完整列表出现在章节§6.5.16,C11
。
答案 1 :(得分:2)
etc.
代表拉丁语 et cetera ,字面意思是“和其他”。这里它表示整个“赋值运算符”系列:*=
,/=
,%=
等。
答案 2 :(得分:1)
虽然您已经对立即问题 - 等提供了答案。只是意味着他们没有列出每个单独的赋值运算符 - 您可能会从中受益另外一条信息:
严格地说,C中没有运算符优先级。这意味着C标准没有指定一个。相反,它为表达式指定了一个语法,其符号有点类似BNF(它使用单冒号而不是::=
,斜体代替尖括号,粗体文本代替双引号等)。它看起来像这样的例子:
N1570(最新的C11草案),§6.5.1:
primary-expression :
标识符
常数
字串文本
( 表达 )
通用选
这相当于以下BNF:
<primary-expression> ::= <identifier> | <constant> | <string-literal>
| "(" <expression> ")" | <generic-selection>
从§6.5的完整语法分布,可以推导出“运算符优先级”,但是条件运算符 >(?:
):它不允许冒号右侧的赋值表达式,因此虽然它通常列出的优先级高于赋值,但您必须将在parantheses中赋值使其成为主表达式(参见上面的语法片段)。关于此问题有一个nice explanation on cppreference.com。