c语言sqrt重载函数的简单介绍

求大神解答为什么老说我的“sqrt”: 对重载函数的调用不明确_Check_return_ _CRT_JIT_INTRINSIC double __cdecl sqrt(_In_ double _X);
首先重载:一个是函数个数不一致,一个是函数类型不一致;
你上面的传入的是一个int 类型,原本内部的是一个double类型 。
c语言 中sqrt 到底是什么意思 例如 x=sqrt(i+100) 在这里的意思 是干什么c语言中sqrt到底是一个非负实数的平方根,sqrt系Square Root Calculations(平方根计算),通过这种运算可以考验CPU的浮点能力 。
x=sqrt(i+100) 意思是将i+100开平方 , 然后赋值给x 。VC 2008后为重载函数 , 原型为 float sqrt (float),double sqrt (double),double long sqrt(double long) 。
扩展资料
c语言特点
1、C语言也很适合搭配汇编语言来使用 。尽管C语言提供许多低级处理的功能,但仍保持良好跨平台的特性,以一个标准规格写出的C语言程序可在许多计算机平台上进行编译,甚至包含一些嵌入式处理器(微控制器或称MCU)以及超级计算机等作业平台 。
2、C语言包含有各种控制语句仅有9种 , 关键字也只有32 个 , 程序的编写要求不严格且多以小写字母为主,对许多不必要的部分进行了精简 。
3、语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能 , 如需此类功能 , 需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统 。
参考资料来源:百度百科—平方根计算
求C语言大神指教 , 出现有多个重载函数sqrt实例与参数列表匹配 , 以下是代码#include stdio.h
#include stdlib.h
#include math.h
int main(void)
{
int a,b,c,d;
double x1,x2;
printf("输入a,b,c(a不为0,数据间以空格隔开):");
scanf("%d %d %d",a,b,c);
d=b*b-4*a*c;//b^2在c里面不是平方 ^异或运算符
if(d=0)//用整形比较才比较精确
{
x1=(-b+sqrt((double)d))/(2.0*a);//说是有多个参数 可以float 可以double 你输入int的编译器不知道转换为哪一种
x2=(-b+sqrt((double)d))/(2.0*a);
printf("方程的根为:%f,%f.\n",x1,x2);
}
else
{
printf("方程无实根.\n");
}
system("pause");
return 0;
}
C语言sqrt()的用法C语言中sqrt函数的使用方法:
C语言中sqrt函数是指的开方运算函数,得到的结果是函数变量(可以是数值 , 也可以是变量名)的算术平方根 。在VC6.0中的math.h头文件的函数原型为doublesqrt(double) 。
说明:sqrt系SquareRootCalculations(平方根计算),通过这种运算可以考验CPU的浮点能力 。
程序例:
#include
【c语言sqrt重载函数的简单介绍】#include
intmain(void)
{
doublex=4.0,result;
result=sqrt(x);//result*result=x
printf(“Thesquarerootof%fis%f\n”,x,result);
return0;
}
VC2008后为重载函数,原型为floatsqrt(float),doublesqrt(double),doublelongsqrt(doublelong)
注意没有sqrt(int),但是返回值可以为int 。
注意事项:
1.sqrt函数运行的结果是算术平方根,即不能运算出负数值 , 也不能输出虚数结果 。如需要得到算术平方根中的负数值,则应该在sqrt函数前添加负号 。
2.sqrt函数的参数必须是非负数值 , 如果是负数值,则输出会报错 , 即数值无效;如果参数是未定义的非数字变量,则按回车后也会报错,即变量名有误 。
3.sqrt函数的计算精度与C语言设置的精度有关,可以通过设置更改精度 。
c语言sqrt函数的用法函数原型为double sqrt(double);

推荐阅读