Order matters because of whole promotions.
int, int (, char short). (, long), .
6.3.1 C:
2 , int unsigned int:
( int unsigned int), int unsigned int.
_Bool, int, signed int unsigned int.
int ( , ), int; unsigned int. . .
6.3.1.8:
, .
, unsigned integer, .
, , , , .
, , .
.
( sizeof(int) 4 sizeof(long) 8):
int i;
short s;
long l, result;
i = 0x10000000;
s = 0x10;
l = 0x10000000;
result = s * i * l;
printf("s * i * l=%lx\n", result);
result = l * i * s;
printf("l * i * s=%lx\n", result);
:
s * i * l=0
l * i * s=1000000000000000
s * i. s int, int . undefined. long l, long.
l * i. i long, long . s, long. , .
long, . , , .