3ds如何用片假名打中文:我哪儿错了

来源:百度文库 编辑:高考问答 时间:2024/04/27 17:23:44
void main()
{
char x = 0xFFFF;
printf ("%d \n",x--);
}
我的理解:
char只有1个字节的存储单元,而如果0xFFFF用int存储则为0000 0000 0000 0000 1111 1111 1111 1111
char里面的单元就是1111 1111
char的补码就是1000 0001
输出char的源码就是1111 1111 就是10进制的-128
但结果是-1

char x = 0xFFFF;
这句产生编译警告, 原因是char只有一个字节存储空间, 而FFFF有二个字节,在这里等同于FF

另外, FF本就是-1

十进制的-128是10000000
而-1是11111111
你搞错了