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
更好的问题是“为什么要这样”? –