1 回答
已采納

onemoo
TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
自動(dòng)轉(zhuǎn)型確實(shí)是會(huì)發(fā)生在運(yùn)算中的。
不過(guò)呢, c = a / b; 這里第一步進(jìn)行的運(yùn)算是除法,而且除號(hào)兩側(cè)都是整型,所以這個(gè)除法的整個(gè)過(guò)程中沒(méi)有發(fā)生向double的轉(zhuǎn)型(因?yàn)闊o(wú)需轉(zhuǎn)型?。琣 / b 的結(jié)果還是 int 型的 3。
再用這個(gè) int 型的 3 為 double 型的 c 初始化,c 當(dāng)然只能是 3.0 了。
如果你需要一開(kāi)始的除法結(jié)果就是 double 類型,只要把 a 或 b 的任意一個(gè)的聲明改為 double 即可。這樣 a / b 會(huì)由于兩側(cè)類型不一致而先進(jìn)行自動(dòng)轉(zhuǎn)型,這個(gè)除法的結(jié)果也就會(huì)成為 double 型的了。
添加回答
舉報(bào)
0/150
提交
取消