标题:有一个程序看不太懂
取消只看楼主
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
 问题点数:0 回复次数:2 
有一个程序看不太懂
int main()
{
unsigned int result = 0x0000;
unsigned char a=0x12;
unsigned char b=0x34;
((unsigned char *)&result)[0]=a;// unsigned int 类型强制转换成unsigned char指针
printf("result=%d\n",result);
printf("&reslult=0x%x\n",&result);//0x12
((unsigned char *)&result)[1]=b;
printf("result= 0x%x\n\n",result); //0x3412
system("pause");
return 0;
}
为什么result的最终输出结果为0x3412,这个程序的功能貌似是将两个字节数据重组为字数据, ((unsigned char *)&result)[0]=a有什么作用?麻烦哪位明白的帮我看一下啊

[此贴子已经被作者于2007-9-15 17:12:11编辑过]

搜索更多相关主题的帖子: system return result 
2007-09-15 16:58
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
得分:0 
呵呵...
我也没想到我的用户ID竟与论坛老大如此相像

英者自知,雄者自胜
2007-09-15 20:23
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
得分:0 

我还有一个问题,怎么通过result的首地址输出第二个字节的值0x34?


英者自知,雄者自胜
2007-09-15 20:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-170194-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.108498 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved