对于下面的程序 #include<stdio.h> #include<string.h> char * scmp(char * s1,char * s2) { if(strcmp(s1,s2)<0)return(s1);

admin2010-01-10  23

问题 对于下面的程序    #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);    strcpy(string,scmp(str[0],str[1]));    strcpy(string,scmp(string,str[2]));    printf("%s\n",string);    }    若运行时依次输入abcd、abba和abc三个字符串,则输出结果为 ______。

选项 A、abcd
B、abba
C、abc
D、abca

答案2

解析 本题自定义函数scmp()的作用是比较字符串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。
转载请注明原文地址:https://jikaoti.com/ti/mgI0FFFM
0

最新回复(0)