标题:一个关于sqrt()函数问题
只看楼主
明次
Rank: 5Rank: 5
来 自:China
等 级:职业侠客
帖 子:166
专家分:303
注 册:2009-1-11
结帖率:100%
已结贴  问题点数:5 回复次数:8 
一个关于sqrt()函数问题
程序代码:
#include <stdio.h>
#include <cmath>
int main()
{
    printf("%d\n",sqrt(25));
}
输出结果居然是0,我就郁闷了 跟好25不是5吗?那为什么会输出0?


搜索更多相关主题的帖子: 函数 sqrt 
2009-09-24 20:49
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
得分:2 
sqrt()好像是对实型数的

参与切磋是美德,每天回帖即可获得10分可用分!
2009-09-24 20:57
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
得分:0 
#include <stdio.h>
#include <cmath>
int main()
{
    printf("%f\n",sqrt(25));
}
这个就没问题。到底是不是这样,让高手回答罗

参与切磋是美德,每天回帖即可获得10分可用分!
2009-09-24 20:58
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
得分:0 
#include <stdio.h>  
#include <math.h>  
int main()  
{  
    printf("%f\n",sqrt(25));  
}


参与切磋是美德,每天回帖即可获得10分可用分!
2009-09-24 20:59
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
得分:2 
sqrt()返回的是  double,  占8个字节,
printf (%d)的参数是 4个字节,就是只读了 sqrt返回值的低4个字节


随便说说, 不保证 正确性

我就是真命天子,顺我者生,逆我者死!
2009-09-24 21:04
LBY318902435
Rank: 2
来 自:江苏南京
等 级:论坛游民
帖 子:76
专家分:48
注 册:2009-3-31
得分:1 
把 printf改为printf("%f\n",sqrt(25));

走自己的路……
2009-09-24 21:07
LBY318902435
Rank: 2
来 自:江苏南京
等 级:论坛游民
帖 子:76
专家分:48
注 册:2009-3-31
得分:0 
5楼应该是对的

走自己的路……
2009-09-24 21:09
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
得分:0 
查了下手册:
函数名: sqrt  
功  能: 计算平方根  
用  法: double sqrt(double x);  

参与切磋是美德,每天回帖即可获得10分可用分!
2009-09-24 21:10
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
得分:0 
我也试了一下。。这是为什么呢?SQRT对int也有效啊。。那怎么还输出零啊。。
期待高手的解答。
2009-09-24 21:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-286706-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.574055 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved