Có mã:Thêm hai biến unsigned char và kết quả là int
#include <iostream>
int main(){
unsigned char a = 4, b = 255;
int g = (unsigned char)a + (unsigned char)b;
std::cout << g << std::endl;
return 0;
}
Kết quả:
259
Tại sao kết quả là 259, không phải 3? Nếu có thêm hai biến char chưa được ký, phải có tràn, kết quả phải là 3 và sau đó nó sẽ chuyển đổi từ unsigned char 3 thành int 3.