[问题] long double

楼主: ericdoctor (小黑)   2014-10-16 18:47:11
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Code::Block/win8.1
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)

问题(Question):
想请问,我用scanf输入两个long double的资料a,b
然后printf出a*b的资料
可是答案不正确
请问是为什么呢???
#include<stdio.h>
int main(){
long double a,b;
scanf("%lf",a);
scanf("%lf",b);
printf("%lf",(a*b))
}
喂入的资料(Input):
输入
4.
5.
得到的输出是-2.000000
请版上高手解惑
感谢
作者: x000032001 (版废了该走了)   2014-10-16 18:48:00
%Lf
作者: johnpage (johnpage)   2014-10-16 23:43:00
请用这两种%llf, %LF,注意大小写配置不要大小写混用详情请看C99规格书%lf是double
作者: LPH66 (-6.2598534e+18f)   2014-10-17 00:52:00
scanf 也要用 %Lf 来读才行
作者: scwg ( )   2014-10-17 04:36:00
scanf("%Lf", &a); scanf("%Lf", &b); ?
作者: johnpage (johnpage)   2014-10-17 05:41:00
楼上你好强我竟然忘记检查这个问题
作者: suhorng ( )   2014-10-17 10:34:00
Windows 没有 long double, 跟 double 还是一样
作者: scwg ( )   2014-10-17 10:34:00
不贴完整程式码大家就不用回答啦, 一定在没抄上来地方
作者: suhorng ( )   2014-10-17 10:36:00
不然改用 Visual C++?呃 改用 VIsual C++ 似乎也不会有用也不对@@ 应该是支援阿

Links booklink

Contact Us: admin [ a t ] ucptt.com