m0_63768790 2021-11-28 23:44 采纳率: 0%
浏览 22

怎么总是错误的赋值变量

运用typedef union,给其中一个变量直接赋值,输出的结果比所附的值少1

img

赋值98,运算出来的结果为97

我想要达到的结果为98

  • 写回答

2条回答 默认 最新

  • 关注

    'a'的ASCII码值是97啊,u.ch='a'这里赋值的时候,97把上面的u.id=98这里赋的值给覆盖掉了
    windows系统低字节序在前,u.id的4个字节 0x 00 00 00 62,ch共享id的低字节(0x62所在的字节,0x62的十进制是98),u.ch='a'把98覆盖成97了,所以最后输出的就是97

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 11月28日

悬赏问题

  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了
  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现