<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
这在c中有效吗?
我认为它不应该,但是当我编译它时,它没有显示错误并产生输出2.
答案 0 :(得分:13)
是的,这是有效,因为在这种情况下,,
是comma operator。
引用C11
,章节§6.5.17,逗号运算符,(强调我的)
逗号运算符的左操作数被计算为void表达式;有一个 其评估与右操作数之间的序列点。 然后是右边 操作数被评估;结果有其类型和价值。
这(评估和)丢弃左操作数并使用右边的值( side )。所以,上面的陈述与
基本相同switch(2)
只是详细说明, 不使用两个值,正如您可能期望的那样,打开 1或2 。