6 回答

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
如果是課本上的題目,應(yīng)該是要考慮類型轉(zhuǎn)換,以及轉(zhuǎn)換時(shí)截?cái)嗟囊?guī)則。這個(gè)轉(zhuǎn)換規(guī)則往往與編譯器的實(shí)現(xiàn)有關(guān)系的,比如float是幾個(gè)字節(jié),int是幾個(gè)字節(jié),int轉(zhuǎn)float,float轉(zhuǎn)長(zhǎng)整型具體怎么轉(zhuǎn),你可以在同一個(gè)編譯器測(cè)試一下(不單單測(cè)試你這個(gè)小程序哦,你可以設(shè)計(jì)幾個(gè)測(cè)試?yán)樱热?float a = 1,234; println("%ld\n",a);),你可以用兩個(gè)不同編譯器對(duì)比一下,會(huì)更清楚。

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
fun函數(shù)是float型,但是你輸出的時(shí)候是ld長(zhǎng)整型。當(dāng)然會(huì)出錯(cuò)。如果改為
#include<stdio.h> long?fun(int?n){ ?????if(0==n%5) ?????????return?++n; ?????else ?????????return?n/5; } void?main(){ ????printf("%ld\n",fun(7)); } 結(jié)果就是1了

TA貢獻(xiàn)29條經(jīng)驗(yàn) 獲得超53個(gè)贊
我這條件不允許,沒(méi)測(cè)試不過(guò)你那個(gè)如果可以跑的話應(yīng)該是1.4,返回值為float 型。
- 6 回答
- 0 關(guān)注
- 1923 瀏覽
添加回答
舉報(bào)