C语言程序设计

单选题有以下程序#include void fun(char *a, char *b){ while(*a=='*') a++; while(*b=*a) {  b++;  a++; }}main(){ char *s=*****a*b**** , t[80]; fun(s,t); puts(t);}程序的运行结果是(  )。A *****a*bB a*bC a*b****D ab

题目
单选题
有以下程序#include void  fun(char *a, char *b){ while(*a=='*') a++; while(*b=*a) {  b++;  a++; }}main(){ char *s=*****a*b**** , t[80]; fun(s,t); puts(t);}程序的运行结果是(  )。
A

*****a*b

B

a*b

C

a*b****

D

ab

参考答案和解析
正确答案: C
解析:
注意两个while,第一个是判断相等“==”,第二个是赋值“=”,第一个循环终止的条件是指针指向的字符不为'*',那么就会在遇到字符'a'时停止,第二个循环把a指针所指的内容依次赋给了b指针指向的内容,直到字符串结束时终止。答案选择C选项。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序includevoidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}m

有以下程序 #include <stdio.h> voidfun(char*t,char*s) {while(*t!=0) t++; while((*t++=*s++)!=0); } main() {char ss[10]="acc",aa[10]="bbxxyy"; fun(ss,aa); printf("%s,%s\n",ss,aa); } 程序的运行结果是

A.accxyy,bbxxyy

B.acc,bbxxyy

C.accxxyy,bbxxyy

D.accbbxxyy,bbxxyy


正确答案:D
解析: 本题中fun函数实现丁字符串函数str-eat的功能,将字符串aa连接到字符串ss的末尾。调用fun函数时,形参t和s分别指向了字符串ss和aa,然后通过一个while循环使t指向字符串ss的结束符的位置,第二个while循环将字符串aa中的字符(包括结束符'\0')逐个复制到字符串ss的末尾处。

第2题:

有以下程序

#include <stdio.h>

void fun(char *t,char *s)

{ while(*t!=0) t++;

while((*t++=*s++)!=0);

}

main()

{ char ss[10]="acc",aa[10]="bbxxyy";

fun(ss,aa); printf("%s,%s\n",ss,aa);

}

程序的运行结果是

A.accxyy,bbxxyy

B.acc,bbxxyy

C.accxxyy,bbxxyy

D.accbbxxyy,bbxxyy


正确答案:D
解析:本题中fun函数实现了字符串函数strcat的功能,将字符串aa连接到字符串ss的末尾。调用fun函数时,形参t和s分别指向了字符串ss和aa,然后通过一个while循环使t指向字符串ss的结束符的位置,第二个while循环将字符串aa中的字符(包括结束符'\0')逐个复制到字符串ss的末尾处。

第3题:

38) 有以下程序:

#include <stdio.h>

void fun(char *t,char *s)

{ while(*t!=0) t++;

while((*t++=*s++)!=0);

}

main()

{ char ss[10]= " acc " ,aa[10]= " bbxxyy " ;

fun(ss,aa);

printf( " %s,%s\n " ,ss,aa);

}

程序运行结果是

A)accxyy,bbxxyy

B)acc, bbxxyy

C)accxxyy,bbxxyy

D) accbbxxyy,bbxxyy


正确答案:D

第4题:

有以下程序 include void fun(char **p) { ++p; printf("%s\n",*p);

有以下程序 #include <stdio.h> void fun(char **p) { ++p; printf("%s\n",*p); } main() { char *a[]={"Moming","Afternoon","Evening","Night"}; fun(a); } 程序的运行结果是

A.Afternoon

B.fternoon

C.Morning

D.orning


正确答案:A
解析:本题主函数中定义了一个指针数组a,可以将它看成一个以字符指针为元素的一维数组。和—般的一维数组名能赋给同类型指针变量一样,该字符指针数组也可以赋给指向字符指针的指针(即字符型二级指针),所以数组名a可以用作函数fun()的实参。

第5题:

有下列程序:

#include<stdi0.h>

voidfun(char*a,char*b)

{

while(*a=='*')a++;

while(*b=*a){b++;a++;}

}

voidmain( )

{

char*s="*****a*b****",t[80];

fun(s,t);puts(t)

}

程序的运行结果是( )。

A.*****a*b

B.a*b

C.a*b****

D.ab


正确答案:C
C。【解析】在程序的主函数中main定义了一个指向字符串的指针和一个字符数组,然后调用fun(s,t),在fun中第一个while语句判断*a中的值为“*”时继续扫描,如果不是“*”终止,第二个while循环,将*a中从“a”开始的后续所有字符都赋予*b,也就是t[0]中的内容为“a*b****”,所以此时的运行结果为选项C。

第6题:

有以下程序:includevoid fun(char**p){++P;printf("%s\n",*p);}main()char*a[]={"Morn

有以下程序: #include<stdio.h> void fun(char**p) { ++P;printf("%s\n",*p);} main() char*a[]={"Morning","Afternoon","Evening","Night"}; fun(A); } 程序的运行结果是( )。

A.Afternoon

B.fternoon

C.Morning

D.oring


正确答案:A

第7题:

有以下程序:

#include<stdio.h>

void fun(char*t,char*s)

{ while(*t!=O)t++;

while((*t++=*s++)!=0);

}

main

{ char ss[10]="acc",aa[10]="bbxxyy";

fun(ss,aa);printf("%S,%s",ss,aa);

}

程序运行结果是( )。

A.accxyy,bbxxyy

B.ace,bbxxyy

C.accxxyy,bbxxyy

D.accbbxxyy,bbxxyy


正确答案:D
主函数中语句fun(ss,aa)的功能是将字符串8a连接到字符串ss的末尾。

第8题:

有以下程序

#include <stdio.h>

void fun(char *a,char *b)

{ while(*a=='*') a++;

while(*b=*a) {b++;a++;}

}

main( )

{ char *s="****a*b****",t[80];

fun(s,t); puts(t);

}

程序的运行结果是

A)*****a*b

B) a*b

C) a*b****

D) ab


正确答案:C

第9题:

有以下程序并includeincludefun(char * w,int n){char t,*s1,*s2; s1=w;s2=

有以下程序 并include<stdio.h> #include<string.h> fun(char * w,int n) { char t,*s1,*s2; s1=w; s2=w+n-1; while(s1<s2) { t=*s1++; * s1=*s2--; * s2=t; } } main() { char p[]="1234567"; fun(p,strlen(p)); puts(p); } 程序运行后的输出结果是( )

A.1234567

B.7654321

C.1711717

D.7177171


正确答案:C

第10题:

有以下程序 include void fun(char *t, char *s) { whil

有以下程序 #include <stdio.h> void fun(char *t, char *s) { while(*t!=0) t++; while( (*t++ = *s++ )!=0 ); main() { char ss[10]="acc",aa[10]="bbxxyy"; fun(ss, aa); printff"%s,%s\n", ss,aa); 程序的运行结果是

A.accxyy, bbxxyy

B.acc, bbxxyy

C.accxxyy, bbxxyy

D.accbbxxyy, bbxxyy


正确答案:D
解析:函数fun()中,前一个while循环的作用是:如果形参指针t所指内容不为0,则让t增1,直到它指向0。后一个 while循环的作用是:将s所指内容赋给t所指地址,然后两者同时增1,直到赋给t的内容为0。由此可见,函数fun()的作用就是将形参s所指字符串连接到形参t所指字符串末尾,相当于库函数中的strcat()。主函数中使用fun()将数组aa中的字符串连接到了数组ss中原有字符串之后,所以执行完后,ss中的字符串为"accbbxxyy"。故最终输出的结果是:accbbxxyy,bbxxyy,应该选择D。

更多相关问题