[TUHS] v7 K&R C
Ronald Natalie
ron at ronnatalie.com
Sun May 17 07:55:50 AEST 2020
It would have to be something bigger than char because you need EOF (whatever it could be defined as) to be distinct from any character.
> On May 16, 2020, at 2:45 PM, Richard Tobin <richard at inf.ed.ac.uk> wrote:
>
>> The function prototype for getchar() is: int getchar(void);
>>
>> It returns an int, not a char. In all likelihood this is specifically
>> *because* EOF is defined as -1.
>
> It would have probably returned int anyway, because of the automatic
> promotion of char to int in expressions. It was natural to declare
> functions returning char as int, if you bothered to declare them at
> all. As K&R1 said:
>
> Since char promotes to int in expressions, there is no need
> to declare functions that return char.
>
> Similarly functions that might return short or float would normally
> return int or double; there aren't separate atof and atod functions
> for example.
>
> -- Richard
>
> --
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336.
>
More information about the TUHS
mailing list