我读过了在线的并且在印刷版(Kochan 编写的 ANSI C 书)中规定,$
在使用 C 语言编程时不能在变量名中使用美元符号。但是,当我创建以下代码来测试变量名作为 Kochan 书中第 4 章练习 2 的一部分时,我能够编译和运行该代码。
那么,GCC 是否通过允许而违反了规则$
,或者变量名规则是否已被更改为允许$
?
这是我的终端输出:
user@computer# cat Answer-4_2_for_post.c
#include <stdio.h>
int main()
{
int A$;
A$ = 1;
printf ("variable A$ = %i\n",A$);
return 0;
}
user@computer# gcc ./Answer-4_2_for_post.c -o ./Answer-4_2_for_post
user@computer# ./Answer-4_2_for_post
variable A$ = 1
user@computer#
答案1
部分6.39 标识符名称中的美元符号GCC 手册指出:
在 GNU C 中,通常可以在标识符名称中使用美元符号。这是因为许多传统 C 实现允许使用此类标识符。但是,一些目标机器不支持标识符中的美元符号,通常是因为目标汇编程序不允许使用它们。