union { int i; char x[2]; }a; int main() { a.x[0]=10; a.x[1]=1; printf("%d\n",a.i); return 0; } 输出结果是什么,
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/03 10:13:49
![union { int i; char x[2]; }a; int main() { a.x[0]=10; a.x[1]=1; printf(](/uploads/image/z/2733406-70-6.jpg?t=union+%7B+int+i%3B+char+x%5B2%5D%3B+%7Da%3B+int+main%28%29+%7B+a.x%5B0%5D%3D10%3B+a.x%5B1%5D%3D1%3B+printf%28%22%25d%5Cn%22%2Ca.i%29%3B+return+0%3B+%7D+%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E6%98%AF%E4%BB%80%E4%B9%88%2C)
x͐JA_
zny1hZ6m%H.H-
qeno
u|̘V 3`̀#j4V)ٜBh^THu['Fu
lf3[;<<`65 "ZaO)O3w_.Xe/NGΛ0@۶@5?k@.\]$$&Iu+ V: 皀D\. 脦#ʁoxQp0#xuެX*Sr?+
union { int i; char x[2]; }a; int main() { a.x[0]=10; a.x[1]=1; printf("%d\n",a.i); return 0; } 输出结果是什么,
union { int i; char x[2]; }a; int main() { a.x[0]=10; a.x[1]=1; printf("%d\n",a.i); return 0; } 输出结果是什么,
union { int i; char x[2]; }a; int main() { a.x[0]=10; a.x[1]=1; printf("%d\n",a.i); return 0; } 输出结果是什么,
union 只分配一块内存,有i和x公用, 即修改了x的内容,i的内容也改变了
按照内存分布,x 改之后内存为 0x010a
也就是说,i的内存时0x10a
也就是10进制266