小测试程序如下:
void main (void) { int test1,test2,test3,test4; test1 = 0x11; test2 = 0x22; test3 = test1 + test2; test4 = 0x11 + 0x22; }
输出的test3为0x00,test4为0x33
但如果修改为: void main (void) { char test1,test2,test3,test4; test1 = 0x11; test2 = 0x22; test3 = test1 + test2; test4 = 0x11 + 0x22; } 这样test3和test4的值就都是0X33了。
为啥呢? |