台灣最大程式設計社群網站
線上人數
2002
 
會員總數:241182
討論主題:186829
歡迎您免費加入會員
討論區列表 >> C/C++ >> C範例 函數用DOUBLE不行但FLOAT可以
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
C範例 函數用DOUBLE不行但FLOAT可以
價值 : 10 QP  點閱數:178 回應數:3

樓主

多多慮
門外漢
0 3
48 3
發送站內信

在下面程式中用DOUBLE的部分出來結果不正確 但是把DOUBLE的部分都改成FLOAT 結果都正確
請各位大神幫小弟指點迷津 正常來說DOUBLE不是比FLOAT更精準嗎






#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
double kitty(double, int);
int main()
{
double k;
int a;
printf("請輸入:\n");
scanf("%f",&k);
fflush(stdin);
printf("請輸入:\n");
scanf(" %d",&a);


printf("%f的%d次方等於%f\n",k,a,kitty(k,a));

system("pause");
return 0;
}

double kitty(double k,int a)
{
int i;
double sum=1.0;
for(i=1;i<=a;i++)

搜尋相關Tags的文章: [ DOUBLE ] , [ float ] ,
本篇文章發表於2017-07-08 11:45
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

多多慮
檢舉此回應
這是函數裡的最後程式碼 抱歉沒用上去


sum=sum*k;

return sum;

}
本篇文章回覆於2017-07-08 11:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

小魚
檢舉此回應
讀取 long 型態整數必須用 %ld, 讀取 double 型態浮點數必須用 %lf, 否則執行時讀入的數字會錯誤

可以參考 這裡

雖然他說VC可以用%f,可是我用VS2010一樣會出錯
本篇文章回覆於2017-07-08 13:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

多多慮
檢舉此回應
謝謝 大神打解惑
本篇文章回覆於2017-07-08 13:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.