Следующие результаты меня смущают:
int i1 = 20-80u; // -60
int i2 = 20-80; // -60
int i3 =(20-80u)/2; // 2147483618
int i4 =(20-80)/2; // -30
int i5 =i1/2; // -30
-
i3
, по-видимому, вычисляется как(20u-80u)/2
вместо(20-80u)/2
- предположительно
i3
совпадает сi5
.