用C语言实现:strcmp(str1,str2)函数,比较两个字符串的大小(不区分大小写)
如果str1大,返回一个整数,如果str2大,返回一个负数,两个相等返回0。注意:不能使用string.h头文件,即自己实现strcmp函数的功能,并且比较的两个字符串是...
如果str1大,返回一个整数,如果str2大,返回一个负数,两个相等返回0。
注意:不能使用string.h头文件,即自己实现strcmp函数的功能,并且比较的两个字符串是不区分大小写的,请高手帮忙 展开
注意:不能使用string.h头文件,即自己实现strcmp函数的功能,并且比较的两个字符串是不区分大小写的,请高手帮忙 展开
5个回答
展开全部
字符串比较函数。
*str1 - *str2
这个就是用str1现在指向的字符减去str2指向的字符,将减后的结果返回。
比如:
*str1 = "abcd"
*str2 = "abca"
strcmp(str1,str2)的返回是多少?
str1++,str2++
a = a
str1++,str2++
b = b
str1++,str2++
c = c
str1++,str2++
d - a = 3
根据返回值你就知道字符串是否一样,哪个大。
得到3,数值大于0,说明第一个字符串大,等于0表示一样,小于0标识第二个字符串大
*str1 - *str2
这个就是用str1现在指向的字符减去str2指向的字符,将减后的结果返回。
比如:
*str1 = "abcd"
*str2 = "abca"
strcmp(str1,str2)的返回是多少?
str1++,str2++
a = a
str1++,str2++
b = b
str1++,str2++
c = c
str1++,str2++
d - a = 3
根据返回值你就知道字符串是否一样,哪个大。
得到3,数值大于0,说明第一个字符串大,等于0表示一样,小于0标识第二个字符串大
展开全部
unsigned int strcmp(const char *str1, const char *str2) const
{
while(((*(str1++)==*(str2++))) && *str1 && *str2 );
return (*str1-*str2);
}
不区分大小写:可以把位于'A'-'Z'之间的字符加上32可变为'a'-'z'之间的字符后再调用上述函数。
{
while(((*(str1++)==*(str2++))) && *str1 && *str2 );
return (*str1-*str2);
}
不区分大小写:可以把位于'A'-'Z'之间的字符加上32可变为'a'-'z'之间的字符后再调用上述函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int __cdecl strcmp (const char * src, const char * dst)
{
int ret = 0 ;
while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *src)
++src, ++dst;
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return( ret );
}
不区分大小写:可以把位于'A'-'Z'之间的字符加上32可变为'a'-'z'之间的字符
{
int ret = 0 ;
while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *src)
++src, ++dst;
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return( ret );
}
不区分大小写:可以把位于'A'-'Z'之间的字符加上32可变为'a'-'z'之间的字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打开string.h,找到strcmp然后Copy
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int strcmp(char *str1, char *str2)
{
while(*str1 && *str2) {
if (*str1 > *str2)
return 1;
else if (*str1 < *str2)
return -1;
str1++, str2++;
}
if (*str1)
return 1;
if (*str2)
return -1;
return 0;
}
{
while(*str1 && *str2) {
if (*str1 > *str2)
return 1;
else if (*str1 < *str2)
return -1;
str1++, str2++;
}
if (*str1)
return 1;
if (*str2)
return -1;
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询