F物的自我救赎(笑) 2023-07-13 18:08 采纳率: 73.8%
浏览 21
已结题

请问为什么unsigned与普通char输出时是不一样的呢

c语言小问题,请问为什么unsigned与普通char输出时是不一样的呢

img

  • 写回答

3条回答 默认 最新

  • 雨三楼 2023-07-13 18:23
    关注

    char的二进制最高位是符号位,当它转成int类型时,系统会自动将最高位做符号位扩展,而恰好你的用例的前两个字节二进制最高位都是1,你可以把char[1] 改成0x7F试下,就会发现,这两个类型在这种case下是一样的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月21日
  • 已采纳回答 7月13日
  • 创建了问题 7月13日