问题及代码:
运行下面的程序,并解释运行结果。
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:点和距离.cpp
*作 者:冷基栋
*完成日期:2015年2月26日
*版 本 号:v1.0
*/
#include <iostream>
using namespace std;
union un
{
int i;
char c[4];
};
int main()
{
union un x;
x.c[0]='A';
x.c[1]='B';
x.c[2]='C';
x.c[3]='D';
cout<<x.i<<endl;
return 0;
}
运行结果:
学习心得:
1145258561=17475*256*256+16961=(68*256+67)*256*256+(66*256+65)
这里的65,66,67,68分别是A,B,C,D的ASCLL值,256是2的8次方,代表向左移8位,扩大256倍。