main(){char c=0xddff ;printf("%d\n",c) ;}答案是-1,为什么呢?
我是新手,发表下自己见解而已.你是把十六机制数0xddff,也就是十进制数56831赋值给字符型的C,56831已经超出了和字符相对应的整数范围了吧.所以你的这个再输出的时候已经无效了.
56831没有超出啊!!!!!!!!!!!!?????????????
超了吧,char是用一个字节来存放的。
char类型长度是一个字节,0xff也是一个字节!
不是说只转换了ff,都转换了