n=a肯定不行啊,一个是int,一个是UnionB是可以的啊, 三个值对应三个变量
D选项正确的写法应该是a.i=n;
个人觉的, 都不对。union这么赋值,应该编译不过。 还有就算编译过了,里面的值也全乱了a={2,’a’,1.2}