共用体+结构体

/*

共用体+结构体 解决问题

如下题目:
    输入一个long,查看它的高位数和低位数。
    一般人可能会去移位,但是,如果是用结构体共用体,那么这题根本就是小儿科。 完全可以赋值,输出就OK了。
解决这题可以设计这样的结构。

*/

#include<stdio.h>

union uq1 {
    long int value;   /*这就是输入的那个32位数*/
    struct {
        short int lowbit;   /*这是低位*/
        short int highbit;  /*这是高位*/
    } bit;
}u;

void main()
{
    //union uq1 u;
    long int v;
    v=0x00010002; /*就先假设输入的数是这个*/
    u.value=v;
    printf("high=%d,low=%d\n",u.bit.highbit,u.bit.lowbit);
}

//输出:high=1,low=2
//代码来源于网络,特发此与大家分享,感谢原作者!

 

posted @ 2014-10-25 10:09  _Fan_  阅读(154)  评论(0编辑  收藏  举报