Next: Operand Promotions, Previous: Assignment Type Conversions, Up: Type Conversions [Contents][Index]
When a function’s definition or declaration does not specify the type of an argument, that argument is passed without conversion in whatever type it has, with these exceptions:
char or short,
the call converts it automatically to int (see Integer Types).8
In this example, the expression c is passed as an int:
char c = '$';
printf ("Character c is '%c'\n", c);
float, the call converts it automatically to
double.
On an embedded controller where char
or short is the same width as int, unsigned char
or unsigned short promotes to unsigned int, but that
never occurs in GNU C on real computers.