D选项看不懂,能不能解释一下为什么可以把unreal赋值给real?
焦岚 资深会员 2019-09-19 13:41:03
57 3 0
问题来自: 结构体和共用体
设有定义:
struct complex
{ int real,unreal;} data1={1,8},data2;
则以下赋值语句中错误的是 ______ 。
A. data2=data1;
B. data2=(2,6);
C. data2.real=data1.real;
D. data2.real=data1.unreal;
答案:B
解析:结构体变量可以直接对成员赋值,也可以两个变量之间互相赋值,所以A、C、D都正确。B中的赋值语句是错误的,如果没有初始化,则只能对成员分别赋值。因此选B。

共 3 个回答

    王幸 高级粉丝 26天前

    data1.unreal=8;

    这个就等于把8给了real了

    焦岚 资深会员 26天前

    回复 王幸:还是不懂。data2.real不是应该对应data1.real;,然后data2.unreal不是应该对应data1.unreal吗,为什么可以交叉定义?

    最佳答案

    王幸 高级粉丝 26天前

    回复 焦岚:没有必须要对应,这个就是简单的复制而已, 比如 int a,b,temp; temp=a;a=b;b=temp;

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题