前言
目前正在自学C语言,看的教材是清华大学出版社出版的C语言入门经典(第5版),由Ivor Horton 著
,杨浩 译
。在编辑并编译第51页的示例代码时报了如下的警告:
解决方案
于是去网上查了相关资料,发现Ubuntu官网上是这样介绍Wformat选项的:
NOTE: In Ubuntu 8.10 and later versions this option is enabled by default for C, C++, ObjC, ObjC++.
To disable, use -Wformat=0.
这意思就是说:Ubuntu 8.10及以后的版本这个选项对于C、C++、Objective C 和 Objective C++程序来说是默认打开的,如果需要关闭,使用命令行参数 -Wformat=0
。
很遗憾,我使用的Ubuntu 18.04 LTS,所以需要在编译源代码是添加这一项参数,即可避免出现上述警告。
事实上,这并不是你编写的程序有问题,编译后的代码是可以正常运行的:
而且这样的问题在CentOS中是不存在的,因为Wformat这个配置在Centos下默认是关闭的,所以一直没报错,如果你在编译的时候打开,也会提示一样的错误。