void main()
{
char a;
float f = 10;
for(a=1; a<=5; a++)
{
f-=.2;
printf("\nf = %g", f);
}
}
這裏的for循環執行五次,每次f的值遞減。但是根據我,f的最終值應該是9.0,但輸出是9. 爲什麼f的值是沒有進入小數點?爲什麼它的int值是浮動值?
void main()
{
char a;
float f = 10;
for(a=1; a<=5; a++)
{
f-=.2;
printf("\nf = %g", f);
}
}
這裏的for循環執行五次,每次f的值遞減。但是根據我,f的最終值應該是9.0,但輸出是9. 爲什麼f的值是沒有進入小數點?爲什麼它的int值是浮動值?
因爲您的最終值f
是9
沒有小數部分。所以,printf
只是不打印它。
如果您需要在這種情況下打印的小數部分,你可以用你的printf
%.1f
,像這樣:
printf("\nf = %.1f", f)
什麼語言是什麼? C? – JJJ
是的,先生的C語言。 – Ron
更好的問題是「爲什麼要這樣」? –