若有以下说明和定义,以下叙述中错误的是( )。union dt{ int a;char b;double c;}data;A.两个共用体变量之间可以相互赋值B.变量data所占内存字节数与成员c所占字节数相等C.程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000D.共用体在初始化时只能用第一个成员的类型进行初始化

题目

若有以下说明和定义,以下叙述中错误的是( )。

union dt

{ int a;char b;double c;}data;

A.两个共用体变量之间可以相互赋值

B.变量data所占内存字节数与成员c所占字节数相等

C.程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000

D.共用体在初始化时只能用第一个成员的类型进行初始化


相似考题
更多“若有以下说明和定义,以下叙述中错误的是( )。 union dt { int a;char b;double c;}data; A.两 ”相关问题
  • 第1题:

    若有以下说明和定义 union dt { int a;char b; double c;} data; 以下叙述中,错误的是______。

    A.data的每个成员起始地址都相同

    B.变量data所占的内存字节数与成员c所占字节数相等

    C.程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000

    D.data可以作为函数的实参


    正确答案:C

  • 第2题:

    若有以下说明和定义 typede int *INTEGER; INTEGER p, *q; 以下叙述正确的是

    A.p 是int 型变量

    B.p 是基类型为 int 的指针变量

    C.q 是基类型为int 的指针变量

    D.程序中可用INTEGER代替int类型名


    正确答案:B
    解析:INTEGER是类型名,由它来间接定义p和*q的类型,因此,p是基类型为int的指针变量,故选项A不正确,选项B正确,q是二级指针变量,它指向基类型是int的指针变量,故选项C,D不正确。所以4个选项中B正确。

  • 第3题:

    设己定义浮点型变量data, 按data在内存中的表示原样输出到显示器上,正确的语句是()。

    A.cout.write((double*)&data, sizeof (double));

    B.cout.write((double*)&data, data);

    C.cout.write((char*)&data, sizeof (double));

    D.cout.write((char*)&data, data);


    cout.write((char*)&data, sizeof (double));

  • 第4题:

    若有以下说明和定义 typedef int *INTEGER; INTEGER p,*q; 以下叙述正确的是( )

    A.p是int型变量

    B.p是基类型为int的指针变量

    C.q是基类型为int的指针变量

    D.程序中可用INTEGER代替int类型名


    正确答案:B

  • 第5题:

    若有以下说明和定义

    union dt

    { int a; char b; double c;}data;

    以下叙述中错误的是

    A.data的每个成员起始地址都相同

    B.变量data所占内存字节数与成员c所占字节数相等

    C.程序段:data.a=5;printf("%f\n",data.C);输出结果为5.000000

    D.data可以作为函数的实参


    正确答案:D
    解析:选项A),共用体的每个成员的起始地址都相同;选项B),共用体变量所占的内存长度等于最长的成员的长度;选项C)因为每个成员的起始地址相同,所以整型数5以浮点型输出时为5.000000;选项D)语言规定,不能把共用体变量作为函数的参数。