C语言题目,求大神相助
#include"stdio.h"#include"string.h"char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)retu...
#include"stdio.h"
#include"string.h"
char*scmp(char*s1,char*s2)
{
if(strcmp(s1,s2)<0)
return(s1);
else
return(s2);
}
void 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(string,scmp(string,str[2]));
printf("%s\n",string);
}
依次输入abcd abba和abc三个字符串,输出结果为啥是abba而不是abc啊? 展开
#include"string.h"
char*scmp(char*s1,char*s2)
{
if(strcmp(s1,s2)<0)
return(s1);
else
return(s2);
}
void 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(string,scmp(string,str[2]));
printf("%s\n",string);
}
依次输入abcd abba和abc三个字符串,输出结果为啥是abba而不是abc啊? 展开
3个回答
展开全部
void 改成int,printf 后加return 0;
读懂程序就行了,前面return (s2),不是return (s1)
读懂程序就行了,前面return (s2),不是return (s1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为按ascii码来排序的话:
abba abc abcd
而你的程序的作用就是找到按ascii码值排序最小的字符串
注意strcmp是一位字符一位字符的比较的,
abba,abc,abcd
前面ab,一样
相当于比较
ba ,c ,cd
自然b排在c的前面才对。
abba abc abcd
而你的程序的作用就是找到按ascii码值排序最小的字符串
注意strcmp是一位字符一位字符的比较的,
abba,abc,abcd
前面ab,一样
相当于比较
ba ,c ,cd
自然b排在c的前面才对。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询