我想着结果是4321 上机了一下是1234 ,这是和小端大端有关系吗?
还有是代码中是s[5]='\0',我猜是要在结尾封口子以便%s输出前面的数据,可是总共s才定义了5个字节啊哪里来的s[5]不是最多到4吗
#include <stdio.h>
union{
char s[5];
int a;
}x;
int main()
{
x.a='4'*256*256*256+'3'*256*256+'2'*256+'1';
x.s[5]='\0';
printf("%s\n",x.s);
return 0;
}