I was expecting the output to look like: 10 20 10 20
But the output came like this: 10 20 20 20
What is happening behind the code?
#include <iostream>
using namespace std;
typedef struct sdata{
int a;
int b;
union udata{
int a;
int b;
}u;
}Data;
int main()
{
Data s;
s.a = 10;
s.b = 20;
s.u.a = 10;
s.u.b = 20;
cout << s.a << " " << s.b << " " << s.u.a << " " << s.u.b;
return 0;
}