我對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聲明中,你是從一個工會成員那裏讀到的,這個工會成員並不是最近寫給他的成員。 –