我对u6.c的期望输出是ABC,但在这里我得到了CBA为什么这样呢?请详细解释一下这个问题吗?为什么打印反向字符串?
union mediatech
{
int i;
char c[5];
};
int main(){
mediatech u1 = {2}; // 1
mediatech u2 = {'a'}; // 2
mediatech u3 = {2.0}; // 3
mediatech u6 = {'ABC'}; // 6
cout<<"\nu6.i = "<<u6.i<<" u6.c="<<u6.c; // o/p: u6.i=4276803 u6.c=CBA
}
相关:http://stackoverflow.com/a/7459943/24913 –
请注意严格地说这是未定义的行为。在你的cout声明中,你是从一个工会成员那里读到的,这个工会成员并不是最近写给他的成员。 –