以下程序的输出结果是
main ( ) {
union {
char i [ 2 ] ;
int k ;
} r;
r.i[0]=2;
r.i[1]=5;
printf (''%d'',r.k);
求解一下这道共同体的题为什么结果为2不是5
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- Kx_Kevin 2022-06-13 11:42关注
因为存储时有大小端问题,你初始化的char类型两个字节,在真实存放时可能是[05][02]的排列,你可以尝试用%x来打印k,应该能一目了然
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥50 使用MS Log Parser查询使用Bitvise SSH Server登录的IP
- ¥20 校园二手交易小程序搭建
- ¥15 请问在ubuntu用conda创建环境报错怎么能解决
- ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
- ¥20 python,计算区位熵和扩张指数
- ¥15 Python环境配置
- ¥15 大四学生的困惑,有偿提问!
- ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
- ¥15 arduino测量电阻
- ¥15 快手uid转快手号谁能解决 需要开发