为什么gcc在变量名中不显示$的警告消息?

阿波罗夫·波尼斯(Apoorv potnis)

我是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 -pedanticC99和更高版本允许在标识符中使用其他实现定义的字符

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么警告不显示弃用消息

为什么在C中以$开头变量名?

Eclipse调试:不显示变量名,但显示值

为什么在标签上的功能中不显示变量?

保留派生类引用的基类的std :: unique_ptr在gcc编译器中不显示警告,而裸指针显示它。为什么?

变量名中$的含义是什么?

为什么指针 (*) 和数组 ([]) 符号绑定到变量名而不是变量声明中的类型?

为什么GoDoc不显示接口变量?

ls为什么不显示组名?

下划线作为Java中的变量名。为什么?

为什么将冒号放在变量名之前是js中的有效代码?

为什么不应该在python中动态生成变量名?

为什么 pd.read_csv 不接受 Windows 文件路径中的变量名?

为什么pylint反对单字符变量名?

为什么不能Java变量名以数字开头?

为什么变量名通常以字母“ m”开头?

为什么允许“ let”作为变量名?

为什么星号在变量名之前而不是类型之后?

为什么变量名以字母“ k”开头?

为什么不能使用“宽”作为变量名?

为什么在 Javascript 中调用函数时不显示我的消息?

为什么GHCi在此错误消息中不显示多态类型?

为什么`ioerr_cnt`上升而在日志中不显示任何消息?

Eclipse为什么不显示流泄漏警告?

为什么GCC不显示矢量化信息?

为什么重定向到while循环不显示消息?

为什么我的 javascript 函数不显示我的消息?

为什么我的应用程序不显示录制的消息?

为什么组件不显示在反应中?