加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么C允许在块周围留出大括号?

发布时间:2020-12-16 05:44:49 所属栏目:百科 来源:网络整理
导读:我们大多数人可能遇到了在“if”中添加另一个语句的错误,并注意到它不管分支的条件如何打印,只是迟早会发现在“if”条件下的大括号失踪. 例: if (condition) { statement;} 相比: if (condition) statement; 请注意,我不想讨论什么编码标准更好,因为我们都
我们大多数人可能遇到了在“if”中添加另一个语句的错误,并注意到它不管分支的条件如何打印,只是迟早会发现在“if”条件下的大括号失踪.

例:

if (condition) {
    statement;
}

相比:

if (condition)
    statement;

请注意,我不想讨论什么编码标准更好,因为我们都有我们的意见,它非常依赖于上下文.相反,我会对编程语言的优点感兴趣,从这些优点,为什么决定不被严格执行.它是否使一个更简单的语法?编译器实现?

留下它的优点是什么,而不是严格执行它?标准说了什么?

解决方法

C标准说一个if(表达式)必须跟着一个语句.它不要求声明是复合语句.

在“C的精神”(见C理由文件)中,其中一个是:

Trust the programmer.

另一方面,MISRA-C具有if语句和循环语句必须是复合语句的必要规则.

一些编码样式允许单个语句,如果只有当该语句放在与if相同的行时.例如:

if (condition) statement;

请注意,C和C不仅是if中的{}是可选的语言.例如在Java中,它也是可选的,但在Perl中是必需的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读