C语言多个sqrt()函数

C语言 码拜 6年前 (2015-10-07) 500次浏览
       #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);

可能你看走眼了,明明是3个不同名称,没有float sqrt(float),c里可以是因为float->double隐式转换调用double sqrt(double x)


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C语言多个sqrt()函数
喜欢 (0)
[1034331897@qq.com]
分享 (0)