【发布时间】:2016-02-23 15:42:02
【问题描述】:
我有以下 C 代码。
int main (void)
{
printf("%d\n",5/(float)4.7);
printf("Size of int = %d",sizeof(int));
return(1);
}
但是结果是1610612736 我期望结果为 1,因为我们要打印一个整数。为什么会这样?浮点值如何在 printf 语句中转换为较大的值? 我正在使用代码块 + mingw
【问题讨论】:
-
发生了什么?是“糟糕的说明者日”还是什么?
-
请使用强类型的语言,例如蟒蛇。
-
@MartinJames 今天是
%d-day。 -
@MartinJames 问题不是重复的。 OP 没有意识到
5/(float)4.7会导致浮点值。但他想打印一个整数(并且正确地具有%d格式说明符)。
标签: c