现在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/05/05 16:05:09

现在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;
你该懂吧.
我不出山好久了.