[求助]程序求解释
#include<stdio.h>union type
{
long l;
char c[4];
};
union type x;
void main()
{
x.l=0x04030201;
for (int i=0;i<4;i++)
printf("c[%d] =%g\t",i,x.c[i]);
}
结果是:c[0]=1 c[1]=2 c[2]=3 c[3]=4
原因是?
如将 char c[4]改 int c[4] 结果为c[0]=1027 c[1]=513 c[2]=0 c[3]=0
这又是为什么?