Re: [問題] 誰來幫幫我找找錯誤阿...@@
我是覺得 float就讓它對應float
等號兩旁就讓它一樣
盡量避免掉等號兩旁的東西範圍不一樣
如你寫的
float A;
int i,j;
A=3.14*i*i*j/3
3.14是浮點數,所以這個應該3.14*i*i*j/3會轉為float
這還沒關係
如果你的i j不是int而是double的話
就會有 float = double
而以範圍而言 double>float>int
如果有 float = double這個情形發生
就會有資料流失的問題
只有一個算式,當然是小事
如果你的算式很多,又很大
如要解10000x10000的matrix的話
就到後來,誤差可大了
我寫這些,只是一些概念
如果要寫程式的話,最好手邊有本書可以參考,可以察看這樣會比較好
所以.....
有什麼不知道的
就盡量問或查書吧
或者,去認識程式強者吧~~~ :p
※ 引述《gailin (阿呆)》之銘言:
: ※ 引述《marsed (笑紅塵)》之銘言:
: : 首先,能跑是正常的
: : 你的I\O輸出沒錯,就一定跑的出來
: : 可是如果沒有scanf()這個指令,就一定沒辦法輸入
: : 因為scanf()就是在執行輸入的
: : 還有一個,就是float和int的不同
: : 基本上float的位階比int高
: : 因為int的範圍在 -32768~32767或0~65535
: : 而float是 3.4E-38~3.4E+38
: : 所以你的程式不會有問題
: : 但如果把float轉成int的話,就一定會有warning的出現
: : 來警告你說如果這麼做的話,會有資料流失的問題
: : 當然這麼寫不是不行
: : 只是我個人覺得比較不好
: 那~~該怎麼寫..才會較理想呢...
: 謝謝指導唷...^_^..
: 剛碰C沒多久的gailin...^^"
--
看著一個從未沾惹情愛的人
因為愛情,
而喜、而悲
不是很有趣嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.245.92
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 5 之 8 篇):