#include <stdio.h> int main() { union a { int i; char ch[2]; }; union a u; u.ch[0] = 3; u.ch[1] = 2; printf("%d", u.i); return 0;}运行结果
时间: 2024-04-26 17:25:56 浏览: 43
#include <stdio.h>
4星 · 用户满意度95%
这段代码输出的结果是515。这是因为联合体中的整型i和字符数组ch共用同一块内存,它们的起始地址相同。在这段代码中,先将u.ch[0]赋值为3,再将u.ch[1]赋值为2,这样就相当于将int类型的4个字节中的低两个字节赋值为3和2,高两个字节保持为0。因此,最终输出的u.i的值是2^8*ch[1]+ch[0],即2^8*2+3,即515。
阅读全文