一个关于C++共用体的问题。高手请进。谢谢!

#include"iostream"usingnamespacestd;uniondata{inti[2];floata;longb;charc[4];}u;voidma... #include "iostream"
using namespace std;
union data
{
int i[2];
float a;
long b;
char c[4];
}u;
void main( )
{
cin>>u.i[0]>>u.i[1]; //或 cin>>u.b;
cout<<"i[0]="<<u.i[0]<<" "<<"i[1]="<<u.i[1]<<" "<<"a="<<u.a
<<" "<<"b="<<u.b<<" "<<"c[0]="<<u.c[0]<<" "<<"c[1]="<<u.c[1]
<<" "<<"c[2]="<<u.c[2]<<" "<<"c[3]="<<u.c[3]<<endl;
}

对实验7_2,输入两个整数10000、20000给u.i[0]和u.i[l],分析运行结果。

这里的a和b分别代表什么10000还是20000?
展开
 我来答
jhx1008
2012-12-18 · TA获得超过617个赞
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:355万
展开全部
这个要看你的平台了,如果是32位的,a,b,c分别对应10000的内存单元
由于float的存储结构为题,a的值不会是10000
如果是64位平台,b的值也不是10000,对应整个i[2]的空间
c的值由于受不同平台big-end,little-end的影响,在intel系列和powerPC(某些苹果机)系列CPU上,跑出的结果是不同的
醉死灬红尘
2012-12-18 · TA获得超过227个赞
知道答主
回答量:37
采纳率:0%
帮助的人:41.8万
展开全部
a和b未知!
因为内存结构不同的机器上 结果不同32位机和16位不同,.....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
发阿萨德发射发
2012-12-18
知道答主
回答量:32
采纳率:0%
帮助的人:10.4万
展开全部
void get(int *a,int *b)
{
cout<< (*a>*b)?*a:*b<<endl//最大值
<<(*a<*b)?*a:*b<<endl//最小值
<<(*a+*b)/2<<endl;//平均值
}
int main()
{
int i=1;
int j=2;
get(&i,&j);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jimmy19871117
2012-12-18 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:141万
展开全部
我去,标题党?
更多追问追答
追问
不好意思,刚刚忘记把代码放进来了
追答
细说吧,qq还是hi,还是私信?这里不方便链接
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式