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