救助关于long double 的问题?

C、C++和Java语言
回复
greenhill
帖子: 26
注册时间: 2006-12-01 0:36
送出感谢: 0
接收感谢: 0

救助关于long double 的问题?

#1

帖子 greenhill » 2007-09-24 15:54

#include<stdio.h>
int main(void)
{
float aboat=32000.0;
double abet=2.14e9;
long double dip=5.32e-5;
printf("%f can be written %e\n",aboat,aboat);
printf("%f can be written %e\n",abet,abet);
printf("%f can be written %e\n",dip,dip);
return 0;
}
编译时出现::
警告: 格式 ‘%e’ 需要类型 ‘double’,但实参 3 的类型为 ‘long double’
czk
帖子: 232
注册时间: 2006-10-08 22:20
送出感谢: 0
接收感谢: 0

#2

帖子 czk » 2007-09-27 6:17

%Le ?
greenhill
帖子: 26
注册时间: 2006-12-01 0:36
送出感谢: 0
接收感谢: 0

#3

帖子 greenhill » 2007-09-29 10:35

改了%le
还是一样?
头像
bones7456
论坛版主
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
送出感谢: 0
接收感谢: 8 次
联系:

#4

帖子 bones7456 » 2007-09-29 10:42

用默认选项,编译倒是没啥问题,但是执行结果好像有点怪.
关注我的blog: ε==3
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#5

帖子 laborer » 2007-09-29 11:42

用"%Lf" "%Le"
bones7456 写了:用默认选项,编译倒是没啥问题,但是执行结果好像有点怪.

要用-Wall才能看到这个warning
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
greenhill
帖子: 26
注册时间: 2006-12-01 0:36
送出感谢: 0
接收感谢: 0

#6

帖子 greenhill » 2007-10-04 17:07

能编译成功,但执行结果不一样?
回复

回到 “C/C++/Java”