为什么 C/C++ 变量不能以数字开头
在 C/C++ 中,变量名可以包含字母、数字和下划线 (_) 字符。C/C++ 语言中有一些关键字,除此之外,所有内容都被视为标识符。标识符是变量、常量、函数等的名称。
我们不能指定以数字开头的标识符,因为编译器有七个阶段,如下所示。
- 词法分析
- 语法分析
- 语义分析
- 中间代码生成
- 代码优化
- 代码生成
- 符号表
以上均不支持变量以数字开头。这是因为在遇到数字后面的字母之前,编译器无法区分是数字还是标识符。因此,编译器必须回溯到词法分析阶段,这是不支持的。编译器应该能够在查看第一个字符后识别标记是标识符还是字面量。
以下是演示如何在 C 中声明变量的示例。
示例
#include <stdio.h>
int main() {
int 5s = 8;
int _4a = 3;
int b = 12;
printf("The value of variable 5s : %d", 5s);
printf("The value of variable _4a : %d", _4a);
printf("\nThe value of variable b : %d", b);
return 0;
}上述程序会导致错误“整数常量上无效的后缀“s””,因为变量以 5 开头。如果我们删除它,程序将正常运行。
演示新程序的示例如下。
示例
#include <stdio.h>
int main() {
int _4a = 3;
int b = 12;
printf("The value of variable _4a : %d", _4a);
printf("\nThe value of variable b : %d", b);
return 0;
}输出
上述程序的输出如下。
The value of variable _4a : 3 The value of variable b : 12
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP