把整数赋值给字符型变量
根据这个题意思是不是把整数赋值给字符型变量,运行过程应该是把整数转换为二进制进行计算?
以前只讲过把字符赋值给int 是转换为ASCII 表,所以这个不是很清楚
本帖最后由 jackz007 于 2019-10-20 19:05 编辑
#include <stdio.h>
int main(void)
{
unsigned char a , b , c ;
a = b = 200 ;
c = a + b ;
printf("%u\n" , c) ;
}
c = a + b = 200 + 200 = 400 = 0x190 ,0x190 由两个字节组成,即高位字节 0x01 和 低位字节 0x90。由于 c 是 unsigned char 型变量,只能保存一个字节,所以,最终,高位字节 0x01 被忽略, 低位字节 0x90 会被保留在变量 c 中,而 0x90 的值是 144,所以,最终的 c 值就是 144。
页:
[1]