【C/C++】错题记录(二)

题目一

在这里插入图片描述

题目二

在这里插入图片描述
x是int型,当x被赋值为1.2浮点型时,x实际赋值为1,所以4.8/5.0由于/是整除,结果为小于1的小数,所以y被赋值为0。

题目三

在这里插入图片描述

题目四

在这里插入图片描述

题目五

在这里插入图片描述

题目六

在这里插入图片描述
在这段代码中,定义了一个联合体union X,联合体中的变量共享同一块内存空间。

对于大字节序和小字节序的理解:

  • 大字节序(Big-Endian):高位字节存储在低地址,低位字节存储在高地址。
  • 小字节序(Little-Endian):低位字节存储在低地址,高位字节存储在高地址。

在本题中,给联合体变量x的成员a赋值为 0x1234。对于大字节序的机器,高位字节 0x12 存储在低地址,低位字节 0x34 存储在高地址。而成员z中的n对应a的低位字节,所以在大字节序机器上x.z.n的值为 0x34。

对于小字节序的机器,低位字节 0x34 存储在低地址,高位字节 0x12 存储在高地址。同样,成员z中的n对应a的低位字节,所以在小字节序机器上x.z.n的值为 0x12。

综上所述,答案是 A(0x34,0×12)。

题目七

在这里插入图片描述

题目八

在这里插入图片描述
在这里插入图片描述

题目九

在这里插入图片描述

题目十

在这里插入图片描述

题目十一

在这里插入图片描述 #define a 10在预处理阶段就把main函数中的a全部替换为10了.

题目十二

在这里插入图片描述

2+x会将2转换成二进制进行相加 ,~3首先将3转换成八位二进制00000011,然后取反,得:11111100
,最后将10101001与11111100取异或,从而得到结果
==^ 异或,相同为0,不同为1 ==(给忘了…)

题目十三

在这里插入图片描述

题目十四

在这里插入图片描述

题目十五

在这里插入图片描述
位段的知识点

题目十六

在这里插入图片描述
基类成员在派生类当中的属性根据继承方式不同而有别,B错误;

this只对本类的非静态成员有效,C不正确。

题目十七

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值