I recalled from K & R that any integer expression smaller than int is promoted to int. I found this in Standard (C89) :
3.2.1.1 Symbols and Integers
A char, a short int or int bit-field, or their signed or unsigned varieties or an object that has an enumeration type, can be used in an expression wherever int or unsigned int can be used. If int can represent all values โโof the original type, the value is equally converted to int;
, s? s: s, , , , - lvalue, ++. C rvalue. , ++:
2 4 2
r. C ++.