看板 C_and_CPP 關於我們 聯絡資訊
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
EdisonX: 先乘除,後加減, 運算子優先權 問題 06/25 01:18
diabloevagto: 先乘除後加減 06/25 01:19
※ 編輯: battle7 (61.231.67.151), 06/25/2015 01:20:27
taies: int/int=int 06/25 01:21
!!!你突破盲點了~對耶,熊熊沒想到!!! ※ 編輯: battle7 (61.231.67.151), 06/25/2015 01:22:31
waterCoka: 你即使有括號(1/2)也是4.5 理由如樓上 06/25 01:22
weiray: 1/2 =0 ,因為整數運算結果只會取得整數. 所以4.5+0 06/25 01:23
celen99: 改成1.0/2就ok了 06/25 11:48
lj0113: 或 (double)1/2 也OK 06/25 20:57