00问答网
所有问题
用double为什么出错,而把double换成float就运算准确。请说明
如题所述
举报该问题
其他回答
第1个回答 2017-03-08
&是取址运算,你如果使用double,则得到double*型值,而你格式控制是%f,即控制为float*,两个指针类型不一致,除了void*可以被其他指针类型的值赋值外,其他任何指针类型除非同类或者基类指向派生类的情况外,都是不可以的。
相要输入double,你应该:
f是浮点数,lf是双精度浮点数。
本回答被提问者和网友采纳
第2个回答 2017-03-08
把scanf("%f %f",&x,&y);改成scanf("%lf%lf",&x,&y);
相似回答
C编程的问题:
为什么
变量类型
为float
则正确
,double就
得不出正确结果呢...
答:
对于在scanf中输入的数据要分清,到底是
double
型还是
float
型,因为如果定义的是double型而在输入的时候写的是scanf("%f",%a)就会
出现错误,
必须写成scanf("%lf",%a),其他类型的如int和long型的也一样,所以平时要注意这一点!!!
...编写一个函数
,为什么用double
x不行
,而
用
float
x才可以??
答:
是因为你用的是%f格式输入的
,scanf函数只是把你输入的输转化成float的格式放到x的地址,并没有考虑你的x的格式。而float和double格式是不一样的,double的长度是float的2倍,所以才会有问题。如果你用double输入的话可以用%lf格式
C语言。这两个程序
,为什么
定义
为float
时可以输出正确结果
,而
定义x,y为...
答:
float对应的是%f,double对应的是%lf,这样用。
二者输入的时候采取的格式不一样,内存中就有很大的不同
。就好比float你用%d存一样。还是应该对应着来。但是平常的作业中double不经常用,一般float就可以满足要求了。*/
...中的
double换成float就
对了,这是
为什么
?double和float意思差不多吧...
答:
double
和
float
都一样的。
Double
比F大。不过%f错了还有,你中间的花括号其实没用的。
大家正在搜
double int float
double与float
double转float
double型和float型
float和double举例
double float区别
float和double的精度
c语言double和float
float和double占字节
相关问题
为什么连接时会出错,而编译时没问题,还有double可以换成...
【新手提问】为什么double就不正常,改成float就就正...
c语言 double比float精度高 但为什么将变量从fl...
为什么这段程序中的float换成double会出错
为什么换double运算不出来而换float 却运算出来.....
为什么不用double,floate做为精确计算
C语言算i+j,把这段代码中的double换成float就对...