qq_57931996 2021-06-25 18:18 采纳率: 88.9%
浏览 23
已结题

为什么输出的是cccc3839?理解不了,

#include"stdio.h"

void main()

{

 union

 {

  int k;

  char ch[2];

 }*s, a;

 s = &a;

 s->ch[0] = 0x39;

 s->ch[1] = 0x38;

 printf("%x", s->k);

}

  • 写回答

1条回答 默认 最新

  • 关注

    %x表示以十六进制数形式输出整数。

    另外数据放到堆栈里,先进后出,所以先输出38

    我运行没有cccc 你是不是看错了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月5日