C consente vari numeri scalari (interi, virgola mobile) per rappresentare il tempo. Deve essere un "... tipi reali capaci di rappresentare tempi" C11 §7.27.1 3,
La gamma e di precisione di tempi rappresentabili in clock_t and time_t
sono attuazione definiti. C11dr §7.27.1 4
La differenza tra 2 time_t
valori, come double
permette una differenziazione ampio spettro e precisione.
OP, "Dal momento che 'il numero di secondi' non richiede numeri in virgola mobile, perché questa funzione restituisce un doppio?
[Edit] Linux/POSIX potrebbe non utilizzare frazioni di secondi, ma altri sistemi lo hanno fatto. Lo standard C che definisce difftime()
sceglie double
e che consente l'accumulo di interi di secondi e altre implementazioni del sistema operativo
Correlato: http://stackoverflow.com/q/13855890/827263 –