问题
单项选择题
对于下面的程序
#include<stdio.h>
#include<string.h>
char *scmp(char*s1,char*s2)
if(strcmp(s1,s2)<0)return(s1);
else return(s2);
main()
int i:char string[20],sb[3][20];
for(i=0;i<3;i++)gets(str[i]);
strcpy(string,scmp(str[0],str[1]));
strcpy(string,scmp(string,str[21));
printf("%s\n",string);
若运行时依次输入abcd、abba和abc三个字符串,则输出结果为______。
A.abcd
B.abba
C.abc
D.abca
答案
参考答案:B
解析:[评析] 本题自定义函数scrnp()的作用是比较字符串s1和s2的大小,如果s1<s2,函数返回s1的值,否则返回s2的值。若运行时依次输入abcd、abba和abc三个字符串,执打strcpy(string,scmp(str[0],str[1]));后,string的值为abba,再执行 strcpy(string,scmp(string,str[2]));,由于scmp(string,str[2])返回string的值abba,再拷贝到字符串数组string中,所以本题输出abba。