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

为什么输出的是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日

悬赏问题

  • ¥15 有没有可以帮我搞一个微信建群链接,包括群名称和群资料群头像那种,不会让你白忙
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题