
一个关于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? 展开
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? 展开
展开全部
这个要看你的平台了,如果是32位的,a,b,c分别对应10000的内存单元
由于float的存储结构为题,a的值不会是10000
如果是64位平台,b的值也不是10000,对应整个i[2]的空间
c的值由于受不同平台big-end,little-end的影响,在intel系列和powerPC(某些苹果机)系列CPU上,跑出的结果是不同的
由于float的存储结构为题,a的值不会是10000
如果是64位平台,b的值也不是10000,对应整个i[2]的空间
c的值由于受不同平台big-end,little-end的影响,在intel系列和powerPC(某些苹果机)系列CPU上,跑出的结果是不同的
展开全部
a和b未知!
因为内存结构不同的机器上 结果不同32位机和16位不同,.....
因为内存结构不同的机器上 结果不同32位机和16位不同,.....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
{
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我去,标题党?
更多追问追答
追问
不好意思,刚刚忘记把代码放进来了
追答
细说吧,qq还是hi,还是私信?这里不方便链接
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询