#include <math.h> double sqrt(double x); float sqrtf(float x); long double sqrtl(long double x);
我是在Linux平台,执行命令man sqrt得到上述的结果。
有点疑惑,C语言并不支持函数重载,
那么当写下如下代码:
double dNumber = 16.0; float fNumber = 16.0; sqrt(dNumber); sqrt(fNumber);
到底编译器是如何处理的呢?
方案推荐指数:20
double sqrt(double x);
float sqrtf(float x);
long double sqrtl(long double x);
float sqrtf(float x);
long double sqrtl(long double x);
可能你看走眼了,明明是3个不同名称,没有float sqrt(float),c里可以是因为float->double隐式转换调用double sqrt(double x)