我只是对else if
C中的语句感到好奇,因此我查看了C99标准,却一无所获。然后我看了一下语法,但再次没有else if
selection_statement
: IF '(' expression ')' statement
| IF '(' expression ')' statement ELSE statement
| SWITCH '(' expression ')' statement
;
else if
在C中如何声明。通过阅读标准,我如何注意到它是标准的一部分?
该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 if
C18标准中唯一出现声明的地方。
所以关于:
通过阅读该标准,我怎么能注意到它是其中的一部分?
至少在这里,尽管例子不是规范性的,但却是其中的一部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句