以下c语言输出结果为什么是0

2025-04-19 23:24:04
推荐回答(1个)
回答1:

输出结果是 0 的原因在于:

a 是 union 。 union 是“联合体、共用体”,与 stuct 不同,联合体(union)中各变量是“互斥”的。

void main()
{
a.u.x=4;
a.u.y=5;
a.u.z=6;
a.k=0; //当执行此语句时,a.u.x = 0 
printf("%d\n",a.u.x);
}