这个题目不允许使用strlen/strcmp/strcpy/strcat等函数,而且还是使用调用函数比较。我不知道如何传递,如何比较字符串中的首字母。
#include<stdio.h>
#include<string.h>
void sub(char*s,char*q)
{
char *temp;
if(s[0]>q[0])
{
temp=s;
s=q;
q=temp;
}
}
int main()
{
char s[21],*p="hello";
gets(s);
sub(s,p); //缺少参数
printf("%s\n",s);
return 0;
}
主函数是已知的,不允许改变,除了缺少参数的哪一行的参数可以改变
函数里要用for循环逐个字符进行大小比较
int sub(char*s,char*q)
{
int i=0;
while(s[i]!='\0' && q[i]!='\0'){
if(s[i]>q[i])
{
return 1; //大于
}else if(s[i]<q[i]){
return -1;//小于
}
i++;
}
if(s[i]!='\0')
return 1;// 大于
else if(q[i]!='\0')
return -1;//小于
else
return 0; //等于
}