现在windows环境下,执行"temp.i=266;printf("%d",temp.ch)"的结果是().(union u_type{ int i;char ch;float a;}temp;现在windows环境下,执行"temp.i=266;printf("%d",temp.ch)"的结果是(). A、266 B、256 C、10 D、1

来源:学生作业帮助网 编辑:作业帮 时间:2024/12/01 18:41:36
现在windows环境下,执行
xRmKP+C0| `&?¬pPsʴҔ,%L2ELՏ鞻ɿٵOm_s܇CVʍmQZm'\ )Twڦff9.Jz&V=<;Dn9-b ܒĘm-'w]9QDq.7b$ a,e[1D v"+qߘϤG3`7F4q#adv%aL.fCXk#E<] Z֨B7@& "~:ODWh)aw?~F5^ OP3G,R6<)}|R,2a7:}3Yce>PvU0R

现在windows环境下,执行"temp.i=266;printf("%d",temp.ch)"的结果是().(union u_type{ int i;char ch;float a;}temp;现在windows环境下,执行"temp.i=266;printf("%d",temp.ch)"的结果是(). A、266 B、256 C、10 D、1
现在windows环境下,执行"temp.i=266;printf("%d",temp.ch)"的结果是().(
union u_type
{ int i;
char ch;
float a;
}temp;
现在windows环境下,执行"temp.i=266;printf("%d",temp.ch)"的结果是(). A、266
 B、256
 C、10
 D、1

现在windows环境下,执行"temp.i=266;printf("%d",temp.ch)"的结果是().(union u_type{ int i;char ch;float a;}temp;现在windows环境下,执行"temp.i=266;printf("%d",temp.ch)"的结果是(). A、266 B、256 C、10 D、1
这是个共用体,他们所有成员的内存分配都一样
266表示2进制100001010;
他们是从右边开始的(低位)因此temp.ch是一个字节;就是8位
因此对齐,发现最左边的1被丢弃,剩下为00001010;为10;
你该懂吧.
我不出山好久了.