版权声明:本文为博主原创文章,未经博主允许不得转载。 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 ;
}
}
}
}
问题描述
自己实现一个比较字符串大小的函数,也即实现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 ;
}
}
}
}