C语言里abs函数有警告

[复制链接]
查看11 | 回复2 | 2019-5-30 15:56:57 | 显示全部楼层 |阅读模式
我在.c文件里已经
#include
#include
之后我在循环里定义int a=abs(m-i);
然后用gcc的c99标准编译的时候老是有警告:隐式声明函数‘abs’
编译后程序能正常运行,但请问怎样才能不出警告呢?谢谢~
那请问一楼在不使用隐式声明的前提下,abs该怎么用呢?
有写法能在C99下不弹警告么?

回复

使用道具 举报

千问 | 2019-5-30 15:56:57 | 显示全部楼层
math.h内abs使用inline修饰,表示只能在本文件内使用,如果要调用可以在当前.c内用extern声明:extern double abs(double __x);stdlib.h内对abs有外部声明,可以加上次头文件试试...
回复

使用道具 举报

千问 | 2019-5-30 15:56:57 | 显示全部楼层
一下参考自sun的C用户指南文档:与 1990 C 标准不同,1999 C 标准不再允许隐式声明。C 编译器的以前版本仅在设置了 -v(详细)的情况下发出有关隐式定义的警告消息。只要标识符隐式定义为 int 或函数,系统便会对隐式定义发出这些消息及其他新警告。该编译器的几乎所有用户均可能注意到这种变化,原因是它会导致大量警告消息。常见原因包括未能...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行