求大佬解釋一下編程里的除法問(wèn)題
int a=3;
int b=4;
double c=a/b;
double d=(double)a/(double)b;
printf("%f",c);
printf("%f",d);
為什么c值為0.000000,d值為0.750000?
int a=3;
int b=4;
double c=a/b;
double d=(double)a/(double)b;
printf("%f",c);
printf("%f",d);
為什么c值為0.000000,d值為0.750000?
2019-03-16
舉報(bào)
2019-03-16
我是這么想的,
3個(gè)蘋果4個(gè)人分,人和蘋果的數(shù)據(jù)類型是int,在計(jì)算機(jī)眼里人和蘋果只能是0、1、2這種整數(shù)出現(xiàn)不能以0.75這種數(shù)出現(xiàn)。每個(gè)人分到0.75個(gè)蘋果,不足1整個(gè)蘋果,所以最后結(jié)果還是0。
至于double d、e、f、的值不為零,是因?yàn)樗鼈兊某龜?shù)或被除數(shù)中出現(xiàn)了double類型的數(shù)值,蘋果或人允許以不是整數(shù)形式的double出現(xiàn),所以最后的結(jié)果也變成了0.75的這種情況。
2019-03-16
除法運(yùn)算中,除數(shù)與被除數(shù)的數(shù)據(jù)類型,好像影響了最后的運(yùn)算結(jié)果。有大佬能解釋一下嗎?