ADV-227 11-1实现strcmp函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/y895315416/article/details/78921339
/*
问题描述
  自己实现一个比较字符串大小的函数,也即实现strcmp函数。函数:int myStrcmp(char *s1,char *s2) 按照ASCII顺序比较字符串s1与s2。若s1与s2相等返回0,s1>s2返回1,s1<s2返回-1。具体来说,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止(注意'\0'值为0,小于任意ASCII字符)。如:
  "A"<"B"
  "a">"A"
  "computer">"compare"
  "hello"<"helloworld"
样例输出
数据规模和约定
  字符串长度<100。
*/
#include <stdio.h>  

int myStrcmp(char *s1,char *s2) ;

int main (void)
{
    char s1[101] ;
    char s2[101] ;
    scanf("%s%s",s1,s2);
    printf("%d\n",myStrcmp(s1,s2) ) ;
    return 0;
}

int myStrcmp(char *s1,char *s2)
{
    int i = 0 ;
    for( i = 0 ; ; i ++ )
    {
        if(s1[i] > s2[i])
         {
            return 1;
        }
        if(s1[i] < s2[i])
        {
            return -1;
        }
        if(s1[i] == s2[i])
        {
            if (s1[i+1]=='\0'&&s2[i+1]=='\0')  
            {  
                return 0 ;
            }  
            if (s1[i+1]=='\0')  
            {  
                return -1 ;
            }  
            if (s2[i+1]=='\0')  
            {  
                return 1 ;
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/y895315416/article/details/78921339