黑马程序员技术交流社区
标题:
为什么不是330?
[打印本页]
作者:
blz01003hm
时间:
2014-4-15 17:40
标题:
为什么不是330?
本帖最后由 blz01003hm 于 2014-4-15 18:02 编辑
#include<stdio.h>
int main(void){
unsigned char a=165;
unsigned char b=a*2;
printf("%d",b);
return 0;
}
作者:
周宇华
时间:
2014-4-15 17:53
unsigned char的范围是0-255,a*2=330=0x14a,超出了范围,截取低8位,b=0x4a=74,所以结果是74
作者:
blz01003hm
时间:
2014-4-15 18:00
周宇华 发表于 2014-4-15 17:53
unsigned char的范围是0-255,a*2=330=0x14a,超出了范围,截取低8位,b=0x4a=74,所以结果是74 ...
额 这样啊 谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2