1
int main ()
{
float MarysAge;

MarysAge = (int) 19.32;
printf("Mary is %f years old\n", MarysAge);

return 0;
}

为什么这个输出最后有 6 个 0?试图帮助一个朋友,但是,我不太了解 C,任何帮助表示赞赏 =)。

输出 = 玛丽 19.000000 岁

4

2 回答 2

4

我误读了你的问题。

位数可以控制如下...

printf("Mary is %.2f years old\n", MarysAge);
于 2012-11-15T23:46:51.447 回答
2

%f 的默认精度为 6,点后输出 6 个数字。和 (int) 向下舍入。首先 19.32 在 (int) 上变为 19,然后在 %f 上变为 19.000000。

于 2012-11-16T02:09:54.677 回答