大佬們幫我看看吧,
#include <stdio.h>
float money(int sj,int juli)
{
? ? float qian=0;
? ? float danjia=2.3;
? ? int qibu=14;
? ? if(!(sj>=5&&sj<23))
? ? {
? ? ? ? danjia*=1.2;
? ? }
? ? if(juli>3)
? ? {
? ? ? ? qian=qibu+(juli-3)*danjia;
? ? }
? ? else
? ? {
? ? ? ? qian=qibu;
? ? }
? ? return qian;
}
int main()
{
? ? printf("小明坐車的總費(fèi)用為%.1f\n",money(9,12)+money(18,12));
? ? return 0;
}
我這個(gè)是對的,輸出結(jié)果是69.40,但我想問一下最后的把“%.1f“換成“%d“輸出的結(jié)果是12了,為什么不是69整數(shù)呢,我還以為會(huì)被小數(shù)消了而已。
2018-08-07
因?yàn)槟阋敵龅念愋秃湍愕淖兞康念愋筒环习?所以輸出的值肯定不對,如果你用強(qiáng)制性轉(zhuǎn)換類型就沒問題了;
比如你用%d輸出,printf的那個(gè)語句改為"printf("小明坐車的總費(fèi)用為%d\n",(int)(money(9,12)+money(18,12)));"就好了