以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址:
#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],str[3] [20];
for(i=0;i<3;i++) gets(str[i]);
strcpy(string,scmp(str[0],str[1]));/*库函数strcpy对字符串进行复制*/
strcpy(string,scmp(string,str[2]));
printf("%s\n",string);
若运行时依次输入abed、abba和abc三个字符串,则输出结果为( )。
A.abed
B.abba
C.abc
D.abca
参考答案:B
解析: 本题首先从键盘读入3个字符串放到二维数组str中,然后通过两次比较,每次把较小的字符串复制到字符数组string中,所以执行完以后,string中存放的是最小的字符串,输入的3个字符串前两个字符都是“ab”,而第3个字符‘e’、‘b’、‘c’中‘b’最小,所以最小字符串是“abba”,故应该选择B。