12-05-2005, 10:22 AM
Section 6.1.2.5 of the C standard orders the four signed integer types as signed char, short int, int, and long int. It specifies that the range of each type is a sub range of the values of the next type in the list. Therefore int can be considered to be wider than short and an implicit conversion is allowed. The same applies for the unsigned integer ranges.