Warning : overflow in implicit constant conversion
问题 In the following program, the line 5 does give overflow warning as expected, but surprisingly the line 4 doesn't give any warning in GCC: http://www.ideone.com/U0BXn int main() { int i = 256; char c1 = i; //line 4 char c2 = 256; //line 5 return 0; } I was thinking both lines should give overflow warning. Or is there something I'm missing? The topic which led me to do this experiment is this: typedef type checking? There I said the following(which I deleted from my answer, because when I run