#include <stdio.h>
union Num{ unsigned long int a; unsigned short int arr[2];} Num;
int main() { while(scanf("%x", &Num.a) != EOF) printf("height=%x low=%x", Num.arr[1], Num.arr[0]); return 0;}
共用体Num里面的a和arr指向的是同一个内存;
所以操作其中一个,另一个也会被改变。