求助关于UNION的问题~
#include <iostream.h>
#include <stdio.h>
void main()
{
union number
{
int x;
char str[4];
}a;
a.x=6513249;
char b='A';
int c=61;
for(int i=0;i<4;i++)
cout<<a.str[i]<<endl;
printf("%x\n",a.x); /*输出ascii码值*/
printf("%c",c);
//put
}
这个是源码,为什么输出的结果是这样的
a
b
c
636261
=
str[0]=61 刚好是'a'
str[1]=62 刚好是'b'
str[2]=63 刚好是'c'
str[3]=00 刚好是'\0' 结束符
按道理说a的ascii码不是97么,对应的61以字符输出应该是‘=’啊,请大侠帮忙帮小弟解决下