英语并列复杂句例句:谁会这个C程序,答案问什么是“4 8”呢?

来源:百度文库 编辑:神马品牌网 时间:2024/05/02 07:51:24
#include "stdio.h"
#include "conio.h"
main()
{
union example
{
struct
{
int x;
int y;
}in;
int a;
int b;
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;e.in.y=e.a+e.b;
printf("%d%d",e.in.x,e.in.y);
}

因为是union的性质的问题,它在内存中系统只为它分配一个空间.多个变量调用时,后个的值将替掉前面的值.
我个人理解:
从你的程序的"(1)e.a=1;(2)e.b=2; (3)e.in.x=e.a*e.b;(4)e.in.y=e.a+e.b;"分析a.b的值,开始时(1)执行后a=1,(2)执行后a和b都为2.(3)执行后ab都为4(即a*b的值);
你再换几个值试一试....