找回密码
 立即注册
搜索
热搜: 活动 通知
查看: 83|回复: 0

检测点10-10

[复制链接]

620

主题

336

回帖

1057

积分

管理员

积分
1057
发表于 2026-3-8 21:52:41 | 显示全部楼层 |阅读模式
检测点10-10

1.给定以下代码片段:
unsigned char uc = 6;
uc = uc << 3;
uc <<= 2;
表达式uc << 3的值和类型是什么?为什么?表达式uc = uc << 3的值和类型是什么?为什么?表达式uc <<= 2的值和类型是什么?为什么?
答:表达式 uc << 3 的值是48,类型是 int,因为移位操作要先执行整型提升,提升后的类型也是移位表达式(的值)的类型。
表达式 uc = uc << 3 的值是48,类型是unsigned char,因为赋值表达式(的值)的类型是其左操作数左值转换后的类型。这是将int类型的48转换为unsigned char后赋给uc。
表达式uc <<= 2 值是192,类型是unsigned char,因为赋值表达式(的值)的类型是其左操作数左值转换后的类型。

2.给定以下声明:
char uc = 32;
表达式uc >>= 2的值和类型是什么?为什么?
答:值为8,类型是char,因为赋值表达式(的值)的类型是其左操作数左值转换后的类型。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|鼠侠网 ( 吉ICP备19001332号 )

GMT+8, 2026-3-30 16:15 , Processed in 0.261819 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表