Of course, only K & R probably knows the true answer, but my suspect is just an βincidentβ due to historical reasons for implementation. For example, the design of this function may be launched as void time(time_t*) , because it is simply impossible in some form of pre-ansi C to return a value of type time_t and only later develop into a function that returns a value.
If this is an explanation, then the reason for saving the parameter in any case is, of course, backward compatibility with existing code.
source share