[問題] 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