C标准在哪里定义else if语句?

Nowox

我只是对else ifC中语句感到好奇,因此我查看了C99标准,却一无所获。然后我看了一下语法,但再次没有else if

selection_statement
    : IF '(' expression ')' statement
    | IF '(' expression ')' statement ELSE statement
    | SWITCH '(' expression ')' statement
    ;

else if在C中如何声明。通过阅读标准,我如何注意到它是标准的一部分?

RobertS支持Monica Cellio

else if声明被正式定义为副产品if通过声明语法§6.8.4/ 1,C18声明:

句法

1个选择声明:

if ( expression ) statement

if ( expression ) statement else statement

资料来源:C18,§6.8.4/ 1

后一种形式的最后一个“陈述”描述了if可以在else


除此之外,您可以在G.5.1 / 8的代码示例中的规范附录G中找到一个在C标准中使用它的示例,当然是非规范的:

if (isnan(x) && isnan(y)) { ... }
else if ((isinf(a) ||isinf(b)) && isfinite(c) && isfinite(d)) { ... }
else if ((logbw == INFINITY) && isfinite(a) && isfinite(b)) { ... } 

这是else ifC18标准中唯一出现声明的地方

所以关于:

通过阅读该标准,我怎么能注意到它是其中的一部分?

至少在这里,尽管例子不是规范性的,但却是其中的一部分。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

c ++标准中的if..else语句

来自分类Dev

if else语句和打印的问题出在哪里?

来自分类Dev

在哪里添加if else语句。并修复一个错误

来自分类Dev

SQL Select语句在哪里

来自分类Dev

选择计数在哪里语句

来自分类Dev

我在哪里放置if语句?

来自分类Dev

简写的c ++ if else语句

来自分类Dev

我的 SQL 语句与 LinqPad SQL 语句。区别在哪里?

来自分类Dev

选择语句和If / else语句

来自分类Dev

if / else语句不执行'if'语句

来自分类Dev

多个if语句或else-if语句

来自分类Dev

Python:if-endif语句在哪里结束?

来自分类Dev

LINQ查询中的if语句在哪里

来自分类Dev

“类型”语句的正确位置在哪里?

来自分类Dev

IF语句在哪里(codeigniter活动记录)

来自分类Dev

在哪里插入重试循环语句?

来自分类Dev

如果子句中的语句在哪里

来自分类Dev

我在哪里放置 WHERE 语句?

来自分类Dev

为什么我的if ... else语句不起作用,我的错误在哪里以及如何解决?

来自分类Dev

与截断语句的标准定义混淆

来自分类Dev

C ++不读取IF / Else语句

来自分类Dev

C++ 忽略 else 语句

来自分类Dev

c#忽略else if语句

来自分类Dev

C标准库中的函数在哪里定义?

来自分类Dev

删除else语句,但需要else语句

来自分类Dev

SELECT语句-日期标准

来自分类常见问题

if语句vs if-else语句,哪个更快?

来自分类Dev

我的清单if,else语句仅返回“ if”语句

来自分类Dev

嵌套If Else语句与ElseIf语句的性能差异