在自定义函数中,使用两个指针同时递增,然后依次比较指针所指向字符的ASCII码值大小
#include <stdio.h>
#include <stdlib.h>
int mystrcmp(char *one,char *two);
int main()
{
char *a="hello,world!";
char *b="helmet is a word.";
printf("string a = %s\n",a);
printf("string b = %s\n",b);
if(mystrcmp(a,b)) //返回1,输出第一个字符串
printf("The largest is %s\n",a);
else
printf("The largest is %s\n",b);
system("pause");
return 0;
}
int mystrcmp(char *one,char *two)
{
while(one!=NULL && two!=NULL)
{
if(*one>*two) //如果字符串指针1指向的字符大,返回1
return 1;
else if(*one<*two) //如果字符串指针2指向的字符大,返回0
return 0;
else //如果字符串指针指向的字符相等,则两个指针向后移动一位
{
one++;
two++;
}
}
if(one!=NULL) //如果上面循环字符串指针2先为空,退出循环,则返回1
return 1;
else
return 0;
}