计算机二级

下列程序的输出结果是______。 main() { union} int a[2]; long k; char c[4]; }un,*sp=&un; sp->a[0]=0x39; sp->a[1]=0x38; printf("%1x\n",sp->k); }A.3938B.3839C.390038D.380039

题目

下列程序的输出结果是______。 main() { union} int a[2]; long k; char c[4]; }un,*sp=&un; sp->a[0]=0x39; sp->a[1]=0x38; printf("%1x\n",sp->k); }

A.3938

B.3839

C.390038

D.380039

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序的输出结果是()。includemain(){ struct st{ int y, x,z;};union{ long i;int

下列程序的输出结果是( )。#include<stdio.h>main(){ struct st { int y, x,z; }; union { long i; int j; char k; }un; printf("%d,%d\n",sizeof(struct st),sizeof(un));}

A.6,2

B.6,4

C.8,4

D.8,6


正确答案:B
解析:本题主要考查结构体和联合内存使用的区别:结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立:联合所占用的内存空间为最长的成员所占用的空间。

第2题:

下面程序的输出结果是_______。includemain(){char*p[]={"DOOL","OPK","H","SP"}; int

下面程序的输出结果是_______。 #include<stdio.h> main() { char*p[]={"DOOL","OPK","H","SP"}; int i; for (i=3;i>=0;i-,i-) printf("%c",*p[i]); printf("\n"); }

A.SO

B.SP

C.SPOPK

D.SHOB


正确答案:A
解析:p[0]存放的是“BOOL\0”的首地址;p[1]存放的是“OPK\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串的第一个字符。在for循环中,i的初值为3,那么输出的第一个字符为“S”,接着两次i-,则输出的值为*p[1],即字符“0”,所以本题的输出为SO。

第3题:

下列程序的输出结果是( )。 include main() { struct st { int y,x,z; }; union {long

下列程序的输出结果是( )。 #include <stdio.h> main() { struct st { int y,x,z; }; union { long i; int j; char k; } un; printf("%d,%d\n",sizeof(struct st),sizeof(un)); }

A.6, 2

B.6, 4

C.8, 4

D.8, 6


正确答案:B
解析:本题主要考查结构体和联合内存使用的区别:结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立;联合所占用的内存空间为最长的成员所占用的空间。

第4题:

下列程序的输出结果是()。 include main() {stmct st {int y,x,z; }; union {long i; i

下列程序的输出结果是( )。

#include<stdio.h>

main()

{ stmct st

{ int y,x,z;

};

union

{ long i;

int j;

char k;

}un;

printf("%d,%d\n",sizeof(stmct st),sizeof(un));

}

A.6,2

B.6,4

C.8,4

D.8,6


正确答案:B
解析:本题主要考查结构体和联合内存使用的区别:结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立;联合所占用的内存空间为最长的成员所占用的空间。

第5题:

下列程序的输出结果是()。includemain(){struct st{int y,x,z;};union{long i; int j;

下列程序的输出结果是( )。 #include<stdio.h> main() { struct st { int y,x,z; }; union { long i; int j; char k; }un; printf("%d,%d\n",sizeof(struct st),sizeof(un)); }

A.6,2

B.6,4

C.8,4

D.8,6


正确答案:B
解析: 本题主要考查结构体和联合内存使用的区别:结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立;联合所占用的内存空间为最长的成员所占用的空间。

第6题:

下列程序的输出结果是( )。 #include<stdio.h> main { struct st { int y,x,z; }; union { long i; int j; char k; }un; printf("%d,%d\n",sizeof(struct st),sizeof(un)) }

A.6,2

B.6,4

C.8,4

D.8,6


正确答案:B
本题主要考查结构和联合内存使用的一些区别:结构中每个成员相互独立,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和;联合所占用内存空间是指最长的成员占用的空间。

第7题:

下面程序的输出结果是______。 include main() {char *p[]="BOOL","OPK","H","SP"};int

下面程序的输出结果是______。 #include<stdio.h> main() { char *p[]="BOOL","OPK","H","SP"}; int i; for(i=3;i>=0;i-,i-) printf("%c",*p[i]); printf("\n"); }

A.SO

B.SP

C.SPOPK

D.SHOB


正确答案:A
解析:p[0]存放的是“BOOL\0”的首地址;p[1]存放的是“OPK\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串的第—个字符。在for循环中,i的初值为3,那么输出的第—个字符为“S”,接着两次i-,则输出的值为*p[1],即字符“O”,所以本题的输出为SO。

第8题:

下列程序的输出结果是( )。 #include "stdio.h" main() { struct st { int y,x,z;}; union {long i;int j; char k;} un; printf("%d,%d\n",sizeo(struct st),sizeof(un)); }

A.6,2

B.6,4

C.8,4

D.8,6


正确答案:B

第9题:

下列程序的输出结果是()。includevoid fun(int*a,int*B){int *k;k=a;a=b;b=k;}main(){i

下列程序的输出结果是( )。 #include<stdio.h> void fun(int*a,int*B){ int *k; k=a;a=b;b=k;} main() { int a=1,b=2,*x=&a,*y=&b; fun(x,y); printf("%d%d",a,B); }

A.2 1

B.1 2

C.编译出错

D.0 0


正确答案:B