十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
要想弄清这个问题,首先要看看这个函数的原型:
创新互联建站专注于阳春企业网站建设,自适应网站建设,购物商城网站建设。阳春网站建设公司,为阳春等地区提供建站服务。全流程按需网站设计,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
打开头文件:math.h
看到:
double _Cdecl _FARFUNC sqrt (double __x);
可见输入的自变量的类型是双精度型,输出结果也是双精度型。
因此,c语言使用sqrt函数得到的数据的类型是双精度型(double)。
long double VC++ 编译器可以有 17位有效数字。
精确到20位,需要自己 定义长数和四则运算,然后用级数展开的办法计算平方根。
可以通过setw(n)函数设定。n是你设定的位数(包括小数点前和后一共的位数)。
C语言中sqrt函数是指的开方运算函数,得到的结果是函数变量(可以是数值,也可以是变量名)的算术平方根。如输入m=sqrt(4);,则输出结果为2。或者对于变量a有赋值9,,则输入m=sqrt(9),输出结果为3.
需要注意的是以下三点:
sqrt函数运行的是结果是算术平方根,即不能运算处负数值,也不能输出虚数结果。如需要得到算术平方根中的负数值,则应该在sqrt函数前添加负号。
sqrt函数的参数必须是非负数值,如果是负数值,则输出会报错,即数值无效;如果参数是未定义的非数字变量,则按回车后也会报错,即变量名有误。
sqrt函数的计算精度与C语言设置的精度有关,可以通过设置更改精度。
鼠标点sqrt后按F1,系统会有出现用法和例子,我简单举个例吧:
printf("%lf", sqrt(123));