我是C的新手,正在C的第四版编程中学习C。斯蒂芬·科尚(Stephen Kochan)撰写。在第29页上,他写道$
变量名不是有效字符。他正在使用C11标准。
我写了下面的代码
#include <stdio.h>
int main (void)
{
int a$ = 1;
printf ("%i", a$);
return 0;
}
并用命令运行它gcc -std=c11 -pedantic practice.c -o practice.o && ./practice.o
。我的文件名是practice.c
。
输出为1
。编译器不应该给我使用警告$
吗?$
GCC提供的扩展程序不是使用符号作为标识符吗?
我在Ubuntu 18.10中使用GCC 8.2.0。
编辑:
另外,当我使用GCC时不使用GNU扩展-std=c11
吗?这就是本书附录(第497页)中写的内容。
我通过使用得到警告-std=c89
。
您会收到警告-std=c89 -pedantic
。C99和更高版本允许在标识符中使用其他实现定义的字符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句