c++ - 为什么 C/C++ 中允许单独使用分号?

标签 c++ c parsing language-lawyer

为什么C/C++解析器单独使用分号时不报错?例如:

int a;
;
int b;

这是语言语法规则的结果还是解析算法的结果?标准对这种情况有何规定?是否;或例如int;应该允许吗?

最佳答案

考虑 K&R 的经典字符串复制功能:

void strcpy(char *src, char *dst)
{
    while (*src++ = *dst++);
}

正如您所见,空语句不仅合法,而且是短 C 语法的基础之一。

关于c++ - 为什么 C/C++ 中允许单独使用分号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32436896/

相关文章:

c++ - 继续收到 "no member function declared"错误,即使它已声明和定义

c++ - 如何创建一个返回任何结构数组的函数

c++ - BOOST ASIO 加载带有密码的 key.pem

c - 试图对一个函数进行逆向工程

c - 如何使用 PostgreSQL 编译 Pro*C?

php - 从复杂的嵌套 JSON 对象获取数据(使用 PHP)

c++ - 如何使用模板继承和组件

c - 如何使用输入 .asm 程序运行 lc3 的命令行版本并使用 gdb 对其进行分析?

c++ - c: 传入变量的wordexp

c++ - 使用语义操作填充嵌套结构