【C语言】错题本(3)

举报
修修修也 发表于 2024/07/25 23:51:13 2024/07/25
【摘要】 【C语言】错题本(3)题目:​编辑为了方便分析,我们将题目代码贴在下面:int main(){unsigned char puc[4];struct tagPIM{unsigned char ucPim1;unsigned char ucData0 : 1;unsigned char ucData1 : 2;unsigned char ucData2 : 3;}*pstPimData;pst...

【C语言】错题本(3)

题目:

编辑

为了方便分析,我们将题目代码贴在下面:

int main()

{

unsigned char puc[4];

struct tagPIM

{

unsigned char ucPim1;

unsigned char ucData0 : 1;

unsigned char ucData1 : 2;

unsigned char ucData2 : 3;

}*pstPimData;

pstPimData = (struct tagPIM*)puc;

memset(puc,0,4);

pstPimData->ucPim1 = 2;

pstPimData->ucData0 = 3;

pstPimData->ucData1 = 4;

pstPimData->ucData2 = 5;

printf("%02x %02x %02x %02x\n",puc[0], puc[1], puc[2], puc[3]);

return 0;

}


正确答案:B

接下来画图分析一下题目:

编辑

由图分析可知,最后puc[0]里存放的是00000010,puc[1]里存放的是00101001,puc[2]里存放的是00000000,puc[3]里存放的是00000000.16进制打印出的结果即为:02 29 00 00.

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。