搜索
首页 电脑/网络 程序设计 C/C++

为什么开方算出来得0?

我是这么写的: #include #include int main() { double a,b; scanf("%f",&a); b=sqrt(a); printf("%f",b); } 运行 我输入什么数,结果都是0.0000! 但如果我直接写b=sqrt(4.0);却能显示出2.0000 很奇怪~这是为什么呢

全部回答

2008-10-06

0 0
是数据类型的原因,可以将double必为float类型,或者将语句scanf("%f",&a); 修改为:scanf("%lf",&a); 即可。

2008-10-10

31 0
将double改为float,或者scanf("%lf",&a); 楼主在调试程序的时候不仿多输出一些信息。 比如在计算开方前先输出一下读入的参数,很快能找到不是sqrt函数的问题而是读取a的时候出了错。快速定位问题才能解决问题

2008-10-09

13 0
将最后语句改为:printf("%f",&b)试一下。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
C/C++
VB
数据库
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报