问题及代码:
运行下面的程序,并解释运行结果。
/* *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倍。
原文地址:http://blog.csdn.net/ljd939952281/article/details/43955985