有以下程序#inc1ude<stdio.h>void fun(char*s){while(*s) {if(*s%2=0) printf("%c",*s); s++ }}m

题目
有以下程序inc1udevoid fun(char*s){while(*s) {if(*s%2=0) printf("%c",*s); s++ }}m

有以下程序 #inc1ude<stdio.h> void fun(char*s) { while(*s) { if(*s%2=0) printf("%c",*s); s++ } } main() { char a[]={"good"}; fun(A) ; prntf("n\"); } 注意:字母a的ASCII码值为97,程序运行后的输出结果是______。

A.d

B.go

C.god

D.good

参考答案和解析
正确答案:A
解析:本题主要考查函数的调用以及字符的ASCII码值,由while循环语句可知,如果字符的ASCII码值为偶数就输出该字符,否则不输出,因为s的ASSCII码值为103;o的码值为111,d的码值为100,所以程序输出结果是d,因此,选项A是正确的。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面程序输出的结果是()。includemain(){char *a="1234";fun(a);printf("\n");}fun(cha

下面程序输出的结果是( )。 #include<stdio.h> main() { char *a="1234"; fun(a); printf("\n"); } fun(char *s) { char t; if(*s) { t=*S++;fun(s);} else return; if(t!='\0') putchar(t); }

A.1234

B.4321

C.1324

D.4231


正确答案:B
解析:本题的fun()函数是用递归法实现逆序输出一个字符串。函数中首先定义一个局部变量t,然后s所指的内容是否为字符串结束符,不是的话将s所指的内容赋给t,同时使s后移一位,然后递归调用fun(s)。到这条语句为止是递归过程,即接下来连续递归调用fun(s)都只会执行到这一半,直到回朔条件(s所指内容是字符串结束符)出现,fun()函数连续返回,判断t不等于0的话,就输出t,所以输入的字符串被逆序输出,故本题的正确答案应该是B。

第2题:

有以下程序 include void fun(char *t,char *s) { while(*t!=0) t++; while((*t++=*s

有以下程序

#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题:

有以下程序(说明:字母A的ASCII码值是65)

#include

void fun(char *s)

{ while(*s)

{ if(*s%2) printf("%c",*s);

s++;

}

}

main()

{ char a[]="BYTE";

fun(a); printf("\n");

}

程序运行后的输出结果是

A.BY

B.BT

C.YT

D.Y


正确答案:D

第4题:

有以下程序(说明:字母A的ASCIl码值是65): #include<stdio.h> void fun(char*s) {while(*s) {if(*s%2)printf("%C",*s); s++; } } main( ) {char a[]="BYTE"; 。 Fun(a);printf("\n"); } 程序运行后的输出结果是( )。

A.BY

B.BT

C.YT

D.YE


正确答案:D
fun函数的意思是当*s%2==0的时候就输出并且s自加l次,然后判断。所以可知只有第2和第4个位置上的才符合要求,所以答案为D。

第5题:

有以下程序inc1udemain(){char*s={"ABC"}; do {printf("%d",*s%10);s++; }while(*s);

有以下程序 #inc1ude<stdio.h> main() { char*s={"ABC"}; do { printf("%d",*s%10); s++; } while(*s); } 注意字母A的ASCII码值为65。程序运行后的输出结果是______。

A.5670

B.656667

C.567

D.ABC


正确答案:C
解析:本题考查的是do-while语句的使用,do-while执行的过程是当while后面—对括号中表达式的值为非0时,转去执行循环体,当值为0时,退出循环。本题定义了—个指针变量s,并使得s指向字符串"ABC",的首地址,即把字符A的地址赋给s,因为do-while语句是先执行循环体再进行循环条件的判断,因此先执行printf语句,“s%10”是s对10的取模运算,第—字符A的ASCII码为65,故“65%10”取模运算结果为5,因此输出5,接着执行s++,s指向字符串的下—个字符,当字符串中字符没有循环完时,继续执行do-while语句,以此类推,B和C的分别为6和7,因此,选项C是正确的。

第6题:

有以下程序 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。

第7题:

有以下程序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的末尾处。

第8题:

(25)有以下程序

#include<stdio.h>

void fun(char *s)

{while(*s)

{ if(*s%2==0) printf(“%c”,*s);

s++;

}

}

main()

{ char a[]={“good”};

fun(a);printf(“\n”);

}

注意:字母a的ASCII码值为97,程序运行后的输出结果是

A)d B)go C)god D)good


正确答案:A

第9题:

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