Integer Overflow - Why not [duplicate]
问题 This question already has answers here : Closed 8 years ago . Possible Duplicate: Addition of two chars produces int Given the following C++ code: unsigned char a = 200; unsigned char b = 100; unsigned char c = (a + b) / 2; The output is 150 as logically expected, however shouldn't there be an integer overflow in the expression (a + b) ? Obviously there must be an integer promotion to deal with the overflow here, or something else is happening that I cannot see. I was wondering if someone