为什么difftime()函数返回一个双精度浮点数?

C语言允许使用各种标量数字(整数、浮点数)来表示时间。它需要是一个“…能够表示时间的实数类型”C11 §7.27.1 3。
clock_t和time_t可表示的时间范围和精度是由实现定义的。C11dr §7.27.1 4
两个time_t值之间的差异,作为一个double提供了非常广泛的范围和精度。
OP,“因为‘秒数’不需要浮点数,所以这个函数为什么返回一个双精度浮点数?”
[编辑] Linux/posix可能不使用秒的分数,但其他系统已经这样做了。定义difftime()的C标准选择了double,这可以容纳对秒的整数累加以及其他操作系统的实现。