[問題] 除法的問題

看板C_and_CPP (C/C++)作者 (東逼)時間15年前 (2010/11/03 17:58), 編輯推噓0(0012)
留言12則, 3人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 是這樣子的 我是最近開始使用C語言的新手 我買了一本書想說照著上面的習題練習 結果剛剛做到一個問題 其實很簡單 但不知道到底是出了啥問題 簡單來說我想要計算 4/3 希望得到的正確結果: 正確答案理所當然是1.3333 程式跑出來的錯誤結果: 但是結果跑出來卻是1.00000?!?!? 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Dev-C++ 這是買書的時候裡面附的光碟 有問題的code: (請善用置底文標色功能) #include <stdio.h> #include <stdlib.h> int main(void) { float num; num=4/3; printf("the result is: %f\n",num); system("pause"); return 0; } 補充說明: 我知道新手剛開始練習時很容易犯了資料型態宣告上的錯誤 除了上述結果之外,我也試著把num宣告為double 結果還是一樣 這個問題好像很簡單 但不知道到底是哪裡錯了 囧 就請大家幫我看一下囉 @@" 在此也先謝謝大家囉~~~~ -- ▍ ▍ ╯╰ ╯╰ ◢◣ ◢◣ 我最愛的 柏柏龍~ 柏柏龍~ ◢██◣ ╮╭ ▎▎╮╭ ▎▎ 柏柏龍~ 柏柏龍~ ⊙ ⊙ ⊙ ⊙ 人人心中都有柏柏龍~ ≡ ▼ ≡ ▲▲ ● ● ≡ ▼ ≡ ■ ■ ■ ■ 憤怒就永遠不會消失~ ⊙⊙ ≡皿 ≡ 炸是最美的擁有~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.218.161.54

11/03 18:02, , 1F
num=4.0/3.0;
11/03 18:02, 1F

11/03 18:04, , 2F
感謝樓上大大~可以了耶@@ 想請問一下為啥除法才要這樣做?
11/03 18:04, 2F

11/03 18:04, , 3F
int / int = int
11/03 18:04, 3F

11/03 18:04, , 4F
因為之前我都是習慣用+ - *都沒問題的說@@"
11/03 18:04, 4F

11/03 18:05, , 5F
整數跟浮點數的四則運算在數學上沒分別在機器上有差
11/03 18:05, 5F

11/03 18:07, , 6F
嗯嗯 感謝以上大大~~~~ 又學到一個新觀念了XD
11/03 18:07, 6F

11/03 18:07, , 7F
有空順便去看第 11 誡吧
11/03 18:07, 7F

11/03 18:09, , 8F
4 跟 4.0 其實是完全不一樣的東西喔 :)
11/03 18:09, 8F

11/03 18:09, , 9F
其實 float 用 4.0f 會比較正確
11/03 18:09, 9F

11/03 18:13, , 10F
拍謝~我知道這問題應該有人問過~只是不知道關鍵字是啥
11/03 18:13, 10F

11/03 18:13, , 11F
還是感謝大家的回答囉~~~
11/03 18:13, 11F

11/03 18:24, , 12F
對了 建議標題修改一下
11/03 18:24, 12F
文章代碼(AID): #1CqJ9LQf (C_and_CPP)
文章代碼(AID): #1CqJ9LQf (C_and_CPP)