关于符号位扩展问题!
#include <stdio.h>
main()
{signed char a=0x8;
unsigned char b=0x7;
int c,d;
c=a,d=b;
printf("%x,%x\n",c,d);
}
按照符号位扩展理解,输出应为
f8,7
但运行程序结果为
8,7
我用的是turbo c 3.0。
搜索更多相关的解决方案:
符号
----------------解决方案--------------------------------------------------------
字符型数据赋给整形变量时,由于字符只占1个字节。而整形变量占2个字节因此将字符数据放到整形变量存储单元的低8位中
----------------解决方案--------------------------------------------------------