当我发现一些奇怪的东西时,我刚刚开始与工会一起探索
如果我运行这个程序
#include <iostream>
using namespace std;
union myun{
public:
int x;
char c;
};
int main()
{
myun y;
//y.x=65;
y.c='B';
cout<<y.x;
}
输出是一些垃圾值,如果改变 yc 的值不会改变接下来我做了这个
#include <iostream>
using namespace std;
union myun{
public:
int x;
char c;
};
int main()
{
myun y;
y.x=65;
y.c='B';
cout<<y.x;
}
输出如预期的那样为 66,因为 yc='B' 将 65 替换为其 ASCII 值 (66)。谁能解释第一种情况?