[問題] double 小疑惑@@?

看板C_and_CPP作者 (迪.阿倫)時間10年前 (2015/06/25 01:17), 10年前編輯推噓2(205)
留言7則, 7人參與, 最新討論串1/1
int main() { double k; k=4.5+1/2; printf("%f", k); return 0; } 為什麼答案是4.5 why? 想不通 正常邏輯不是4.5+(1/2)=5.0 嗎@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.231.67.151 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1435166236.A.668.html

06/25 01:18, , 1F
先乘除,後加減, 運算子優先權 問題
06/25 01:18, 1F

06/25 01:19, , 2F
先乘除後加減
06/25 01:19, 2F
※ 編輯: battle7 (61.231.67.151), 06/25/2015 01:20:27

06/25 01:21, , 3F
int/int=int
06/25 01:21, 3F
!!!你突破盲點了~對耶,熊熊沒想到!!! ※ 編輯: battle7 (61.231.67.151), 06/25/2015 01:22:31

06/25 01:22, , 4F
你即使有括號(1/2)也是4.5 理由如樓上
06/25 01:22, 4F

06/25 01:23, , 5F
1/2 =0 ,因為整數運算結果只會取得整數. 所以4.5+0
06/25 01:23, 5F

06/25 11:48, , 6F
改成1.0/2就ok了
06/25 11:48, 6F

06/25 20:57, , 7F
或 (double)1/2 也OK
06/25 20:57, 7F
文章代碼(AID): #1LYkOSPe (C_and_CPP)