更多“有以下程序main(){ union{ char ch[2];int d;} s;s.d=0x4321;printf(" % x, % x\n",s.ch[0] ”相关问题
  • 第1题:

    有以下程序:include main(){union{charch[2];int d;} s;s.d=0x4321;printf("%x,%x\n",

    有以下程序: #include <stdio.h> main() { union { charch[2]; int d; } s; s.d=0x4321; printf("%x,%x\n",s.ch[0],s.ch[1]); } 在16位编译系统上,程序执行后的输出结果是( )。

    A.21,43

    B.43,21

    C.43,00

    D.21,00


    正确答案:A
    解析:int型变量和字符数组ch共用两个字节的存储单元,通常ch[0]位于低字节,ch[1]位于高字节,所以s.ch[0]=21,s.c[1]=43。

  • 第2题:

    下列程序的输出结果是______。include main(){union {int k;char i[2]; }*S,a; s=&

    下列程序的输出结果是______。#include <stdio.h>main(){ union { int k; char i[2]; } *S,a; s=&a; s->i[0]=0x39; s->i[1]=0x38; printf("%x\n",s->k);}

    A.3839

    B.3938

    C.380039

    D.390038


    正确答案:A

  • 第3题:

    19、下面程序执行后的输出结果是()。 #include <stdio.h> int main() { union { char ch[2]; short d; } s; s.d=0x4321; printf("%x,%x",s.ch[0],s.ch[1]); return 0; }

    A.21,43

    B.43,21

    C.43,00

    D.21,00


    A

  • 第4题:

    有以下程序:

    main

    { union

    { char ch[2];

    int d;

    }s;

    d=0x4321;

    printf("%x,%x\n",S.ch[0],S.ch[l]);

    }

    在16位编译系统上,程序执行后的输出结果是( )

    A.21,43

    B.43,21

    C.43,00

    D.21,00


    正确答案:A
    s是一个公用体,d的值分别与ch中的两个元素的值相同,d的高位放在chFl]中、低位放在chl-0]中,因此输出的结果为21,43。

  • 第5题:

    有以下程序:include void swap(char * x,ehar * y){ char t;t= *x; *x: *y; *y=t;main

    有以下程序:#include <stdio.h>void swap(char * x,ehar * y){ char t; t= *x; *x: *y; *y=t;main ( ){ char *s1 ="abc", * s2 ="123"; swap(s1 ,s2); printf("%s,%s \n" ,s1 ,s2);}程序执行后的输出结果是( )。

    A.123,abe

    B.abe,123

    C.1bc,a23

    D.321,cba


    正确答案:C
    解析:C语言中,字符串常量在内存中是以字符数组的形式存放的,形参字符指针x和y指向的是各字符串的首地址,在swap函数中,*x与*y交换的是字符串的第一个字符,即字符'a'与'1'的交换,而字符串中其他字符保持不变。