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

xwbar的头像
2025-07-02 23:18:30
/
中国勇夺世界杯

C语言允许使用各种标量数字(整数、浮点数)来表示时间。它需要是一个“…能够表示时间的实数类型”C11 §7.27.1 3。

clock_t和time_t可表示的时间范围和精度是由实现定义的。C11dr §7.27.1 4

两个time_t值之间的差异,作为一个double提供了非常广泛的范围和精度。

OP,“因为‘秒数’不需要浮点数,所以这个函数为什么返回一个双精度浮点数?”

[编辑] Linux/posix可能不使用秒的分数,但其他系统已经这样做了。定义difftime()的C标准选择了double,这可以容纳对秒的整数累加以及其他操作系统的实现。

洋河梦5的价格,洋河梦5酒价格曝光
禥怎么读