搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 学习过程中遇到几个不懂的问题,请各位大侠帮忙解疑
标题:
学习过程中遇到几个不懂的问题,请各位大侠帮忙解疑
只看楼主
insistance
等 级:
论坛游民
帖 子:10
专家分:25
注 册:2010-7-17
结帖率:
100%
楼主
已结贴
√
问题点数:5 回复次数:6
学习过程中遇到几个不懂的问题,请各位大侠帮忙解疑
# include "stdio.h"
# include"math.h"
main()
{
int a=9;
printf("%d",sqrt(a));
}
运行结果为 0
将输出类型改为浮点型 "%f"
# include "stdio.h"
# include"math.h"
main()
{
int a=9;
printf("%f",sqrt(a));
}
运行结果为 3.000000
请各位大侠解疑
搜索更多相关主题的帖子:
解疑
学习
2010-07-21 09:50
heartnheart
等 级:
蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
第
2
楼
得分:2
sqrt()函数返回参数的平方根,是一个浮点数,printf为格式化输出函数,类型必须匹配,例如int就要用%d,浮点型要用%f
收到的鲜花
insistance
于
2010-07-21 19:54
送鲜花
2朵
2010-07-21 09:57
lillew
等 级:
论坛游民
帖 子:12
专家分:17
注 册:2010-7-16
第
3
楼
得分:0
回复 2楼 heartnheart
如果是不匹配的话,c++是会自动转换格式的。但是c好象是不能转换,你在sqrt前面加一个(int)强制转换成int型的,结果是正确的
2010-07-21 10:04
fqtb16
来 自:上海
等 级:
黑侠
帖 子:96
专家分:504
注 册:2009-12-28
第
4
楼
得分:2
楼上正解,sqrt()原型是double sqrt();
收到的鲜花
insistance
于
2010-07-21 19:55
送鲜花
2朵
爱拼才会赢
2010-07-21 10:06
sunyh1999
等 级:
版主
威 望:
14
帖 子:1178
专家分:3032
注 册:2009-5-17
第
5
楼
得分:0
%d应该改成%f
欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-07-21 13:31
sunyh1999
等 级:
版主
威 望:
14
帖 子:1178
专家分:3032
注 册:2009-5-17
第
6
楼
得分:1
因为sqrt()是数学函数,需要用float型的,正如二楼所讲
收到的鲜花
insistance
于
2010-07-21 19:55
送鲜花
1朵
欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-07-21 13:31
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-313576-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.175103 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved