【发布时间】:2019-09-16 01:03:18
【问题描述】:
我的印象是你只能以字母和_开头的变量名,但是在测试时,我还发现你可以用$开始变量名,如下所示:
代码
#include <stdio.h>
int main() {
int myvar=13;
int $var=42;
printf("%d\n", myvar);
printf("%d\n", $var);
}
输出
13
42
根据this resource,它说你不能在 C 中以 $ 开头变量名,这是错误的(至少在使用我的 gcc 版本、Apple LLVM 版本 10.0.1 (clang-1001.0.46.4) 编译时) )。我在网上找到的其他资源似乎也表明变量不能以 $ 开头,这就是我感到困惑的原因。
这些文章是否只是没有提及这种细微差别,如果是,为什么这是 C 的一个特性?
【问题讨论】:
-
你试过其他符号或编译器吗?
-
$ in variable name?的可能重复
-
@JL2210 这个问题似乎专门针对 C++,而这个问题专门针对 C。
-
@uneven_mark 不,同样适用。
-
@JL2210:不是重复的。其他问题要么只有错误答案,要么只是针对 C18 进行了更改,我不会潜水检查。