社区
C++ 语言
帖子详情
一道C/C++面试题
tanglei619
2011-11-18 03:15:37
#include <iostream>
using namespace std;
int main()
{
union V {
struct X {
unsigned char s1:2;
unsigned char s2:3;
unsigned char s3:3;
} x;
unsigned char c;
} v;
v.c = 100;
printf("%d\n",v.x.s3);
return 0;
}
结果为3,何解?
...全文
253
8
打赏
收藏
一道C/C++面试题
#include using namespace std; int main() { union V { struct X { unsigned char s1:2; unsigned char s2:3; unsigned char s3:3; } x; unsigned char c; } v; v.c = 100; printf("%d\n",v.x.s3); return 0; } 结果为3,何解?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tanglei619
2011-11-21
打赏
举报
回复
恩 3Q!~
softwarestudying
2011-11-18
打赏
举报
回复
v是联合体(共用体)变量,共有两个元素x和c,都需要一个字节,它们分配于同一个地址。而x是结构体变量,共有三个元素s1、s2、s3,分别占2位、3位、3位。分配内存时低位在前,最位在后。当有v.c=100(其二进制为01100100)时,各变量的关系及内存存储情况见图所示。
其中x的成员s3为二进制的011,即十进制的3,所以输出结果为3。
Zou_prince
2011-11-18
打赏
举报
回复
struct X {
unsigned char s1:2;
unsigned char s2:3;
unsigned char s3:3;
} x;
加入x的二进制为 XXXXzzzyyyxx
s1占最后2位置:xx;(2)
s2占最后5-2位置:yyy;(3)
s1占最后8-5位置:zzz;(3,如果不够,有多少位算多少位)
c = 100
二进制为:1100100
s3=11; s2=001; s1=00;
s3=3; s2=1; s1=0;
假如
c = 200
二进制为:11001000
s3=110; s2=010; s1=00;
s3=6; s2=2; s1=0;
假如
c = 300
二进制为:100101100
s3=001; s2=011; s1=00;
s3=1; s2=3; s1=0;
现在能理解么
dijisaiyaren
2011-11-18
打赏
举报
回复
struct X {
unsigned char s1:2;
unsigned char s2:3;
unsigned char s3:3;
} x;
本人初学者
有个东西不懂啊,这个结构体里面定义的是些啥东西?
unsigned char s1:2;
luciferisnotsatan
2011-11-18
打赏
举报
回复
位域
大小端
tanglei619
2011-11-18
打赏
举报
回复
谢谢帮助,我在想想哈!~
bdmh
2011-11-18
打赏
举报
回复
x和v公用一块内存,而且要看大小端,一般的如下
100二进制是1100100,那么s3是11,s2是001,s1是00
eyodo8
2011-11-18
打赏
举报
回复
这是位结构,100的二进制为01100100,s3是011,打印出来自然是3
嵌入式C/
C++
语言开发精华文章集锦(嵌入式C/
C++
开发者必看,很有价值的文章)
本压缩包文件集锦了嵌入式C/
C++
开发编程技巧,高效编程技术探索,C/
C++
语言相关技术问题的深层探索,并且对嵌入式C/
C++
程序员应聘常见
面试题
进行了深入剖析,对嵌入式C/
C++
开发者编程修炼,提升自身的相关能力具有很要的作用。 文档包含如下内容: struct 深层探索.
C++
中extern "C"含义深层探索. C 语言高效编程的几招 想成为嵌入式程序员应知道的 0x10 个基本问题 C 语言嵌入式系统编程修炼之一:背景篇 C 语言嵌入式系统编程修炼之二:软件架构篇 C 语言嵌入式系统编程修炼之三:内存操作 C 语言嵌入式系统编程修炼之四:屏幕操作 C 语言嵌入式系统编程修炼之五:键盘操作 C 语言嵌入式系统编程修炼之六:性能优化 C/
C++
语言 void 及void 指针深层探索 C/
C++
语言可变参数表深层探索 C/
C++
数组名与指针区别深层探索 C/
C++
程序员应聘常见
面试题
深入剖析(1) C/
C++
程序员应聘常见
面试题
深入剖析(2)
一道
著名外企
面试题
的抽丝剥茧 C/
C++
结构体的一个高级特性――指定成员的位数 C/
C++
中的近指令、远指针和巨指针 从两道经典试题谈 C/
C++
中联合体(union)的使用. 基于 ARM 的嵌入式Linux 移植真实体验 基于 ARM 的嵌入式Linux 移植真实体验(1)――基本概念 基于 ARM 的嵌入式Linux 移植真实体验(2)――BootLoader 基于 ARM 的嵌入式Linux 移植真实体验(3)――操作系统 基于 ARM 的嵌入式Linux 移植真实体验(4)――设备驱动 基于 ARM 的嵌入式Linux 移植真实体验(5)――应用实例 深入浅出 Linux 设备驱动编程 1.Linux 内核模块 2.字符设备驱动程序 3.设备驱动中的并发控制 4.设备的阻塞与非阻塞操作
C/
C++
程序设计员面试试题深入剖析
本文的目的并不在于提供C/
C++
程序员求职面试指导,而旨在从技术上分析
面试题
的内涵,通过对这些
面试题
的深入剖析则可进一步增强自身的内功
C /
C++
语言笔试题 200页 doc 文档
C语言笔试题,200页的 word 格式,因为是笔试题,所以只是部分有答案。 少量题目,有重复,见谅,实在不好整理。
C/
C++
程序设计员应聘常见面试试题深入剖析
C/
C++
程序设计员应聘常见面试试题深入剖析,不看会后悔
C/
C++
程序员应聘常见
面试题
深入剖析
许多
面试题
看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度。 本文的写作目的并不在于提供C/
C++
程序员求职面试指导,而旨在从技术上分析
面试题
的内涵。文中的大多数
面试题
来自各大论坛,部分试题解答也参考了网友的意见。
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章