|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请教一个简单程序的输出结果的原因;
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
878
人关注过本帖
标题:
请教一个简单程序的输出结果的原因;
只看楼主
加入收藏
Twinkle_cj
等 级:
新手上路
帖 子:64
专家分:0
注 册:2010-7-3
结帖率:
93.33%
楼主
收藏
已结贴
√
问题点数:20 回复次数:6
请教一个简单程序的输出结果的原因;
#include"stdio.h"
main()
{ int j;
union { int a;
long b;
unsigned char c;
}m;
m.b=0x12345678;
printf("%x\n",m.a);
printf("%x\n",m.c);
}
结果是 5678
78
搜索更多相关主题的帖子:
结果
输出
2010-10-16 11:34
举报帖子
使用道具
赠送鲜花
TGM316750432
来 自:河南周口
等 级:
论坛游民
帖 子:56
专家分:97
注 册:2010-8-27
第
2
楼
收藏
得分:4
union分配的空间是各个数据类型中占用字节最多的那个
所以union分配的空间和long的空间一样,当取union中的其他数据类型时
从字节的低位开始 高位舍弃
个人见解
2010-10-16 12:10
举报帖子
使用道具
赠送鲜花
m21wo
等 级:
青峰侠
威 望:
4
帖 子:440
专家分:1905
注 册:2010-9-23
第
3
楼
收藏
得分:4
系统乱给的吧~!
If You Want Something, Go Get It, Period.
2010-10-16 12:11
举报帖子
使用道具
赠送鲜花
Crocodile_JX
等 级:
职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
第
4
楼
收藏
得分:4
回复 2楼 TGM316750432
union分配的空间是各个数据类型中占用字节最多的那个
所以union分配的空间和long的空间一样。这个正确啊,不过后面就不那么赞同了。因为把后面的输出打印m.b 的时候结果也不正确呢。
2010-10-16 18:41
举报帖子
使用道具
赠送鲜花
TGM316750432
来 自:河南周口
等 级:
论坛游民
帖 子:56
专家分:97
注 册:2010-8-27
第
5
楼
收藏
得分:0
回复 4楼 Crocodile_JX
这应该和编译器有关吧
不同的编译器分配的int 和long 字节数是不一样的
Devc++中int和long是一样的
4个字节
而在winTC下 int是2个字节
long是四个字节
2010-10-16 20:10
举报帖子
使用道具
赠送鲜花
vandychan
等 级:
贵宾
威 望:
18
帖 子:2296
专家分:6418
注 册:2010-8-20
第
6
楼
收藏
得分:4
共同体确实比较麻烦
到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-16 21:14
举报帖子
使用道具
赠送鲜花
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
7
楼
收藏
得分:4
一般来说联合不如结构常用。
这明显是个演示程序,楼主看到这个程序的地方一定有这个程序的解释,你把那个解释看懂了就行了。
现在搞定清楚語法,就足够了。日后如果你在别人写的源码里遇到了使用联合的情况,自己还想不清楚的话,上来问可能更好一点。因为一般我们需要使用联合的时候,都伴随其它一些目的,不会像示例里那么单纯的。
2010-10-16 21:37
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
请教一个简单程序的输出结果的原因;
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029528 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved