有以下程序:main(){ union{ unsigned int n; unsigned char c; }u1; u1.c='A'; printf("%c\n",u1.n);}执行后输出结果是( )。A.产生语法错B.随机值C.AD.65

题目

有以下程序:main(){ union{ unsigned int n; unsigned char c; }u1; u1.c='A'; printf("%c\n",u1.n);}执行后输出结果是( )。

A.产生语法错

B.随机值

C.A

D.65


相似考题
参考答案和解析
正确答案:C
解析:在定义共用体的同时,定义了—个共用体型变量u1,共占两个字节,有两个成员n和c,两个成员的首地址是相同的。因此给u1.c赋一个“A”,其实就是给无符号整型成员u1.n的低字节赋一个“A”,输出u1.n的时候是以字符型的形式输出,只输出它的低地址的一个字节,因此为“A”。所以,C选项为所选。
更多“有以下程序:main(){ union{unsigned intn;unsigned charc; }u1;u1.c='A';printf("%c\n",u1.n);} ”相关问题
  • 第1题:

    有以下程序 main() { union{ unsigned int n; unsigned char c; }ul; u1.c='A'; cout<<u1.n<<endl; } 执行后输出结果是

    A.产生语法错

    B.随机值

    C.A

    D.65


    正确答案:B
    解析:本题考查联合这种特殊的数据结构的基本知识。联合的本质在于联合的成员共事同一片连续的内存单元。本题中由于整型变量占两个字节,字符型变量占一个字节,而整型变量的一部分没有被赋值,故将输出随机值。本题答案为B。

  • 第2题:

    有以下程序 main() { union{ unsigned int n; unsigned char C; }ul; u1.C='A'; printf("%c\n",u1.n); } 执行后输出结果是

    A.产生语法错

    B.随机值

    C.A

    D.65


    正确答案:C
    解析:在定义共用体的同时,定义了一个共用体型变量u1,共占两个字节,有两个成员n和c,两个成员的首地址是相同的.因此给u1.c赋一个“A”,其实就是给无符号整型成员u1.n的低字节赋一个“A”,输出u1.n的时候是以字符型的形式输出,只输出它的低地址的一个字节,因此为“A”。所以,C选项为所选。

  • 第3题:

    【填空题】以下程序的输出结果为()。 main() {short i; i=-4; printf("ni:dec=%d, oct=%o, hex=%x, unsigned=%un",i,i,i,i); }


    A

  • 第4题:

    有以下程序 main() { union{unsigned int n; unsigned char c; }ul; u1.C='A'; pfintf("%c\n",u1.n); } 执行后输出结果是

    A.产生语法错

    B.随机值

    C.A

    D.65


    正确答案:C
    解析:在定义共用体的同时,定义了一个共用体型变量u1,共占两个字节,有两个成员n和c,两个成员的首地址是相同的。因此给u1,c赋一个“A”,其实就是给无符号整型成员u1.n的低字节赋一个“A”,输出u1,n的时候是以字符型的形式输出,只输出它的低地址的一个字节,因此为“A”。

  • 第5题:

    在32位系统中,以下程序的输出结果: #include<stdio.h> union { int a; int b[5]; char c; }u1; void main() { printf("%dn",sizeof(u1)); }


    A