用C语言实现:strcmp(str1,str2)函数,比较两个字符串的大小(不区分大小写)

如果str1大,返回一个整数,如果str2大,返回一个负数,两个相等返回0。注意:不能使用string.h头文件,即自己实现strcmp函数的功能,并且比较的两个字符串是... 如果str1大,返回一个整数,如果str2大,返回一个负数,两个相等返回0。

注意:不能使用string.h头文件,即自己实现strcmp函数的功能,并且比较的两个字符串是不区分大小写的,请高手帮忙
展开
 我来答
乄隨訫隨妳動
推荐于2016-02-24 · TA获得超过8492个赞
知道大有可为答主
回答量:1713
采纳率:0%
帮助的人:3651万
展开全部
字符串比较函数。

*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标识第二个字符串大
yifanfeng93
2010-10-29 · TA获得超过147个赞
知道答主
回答量:129
采纳率: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'之间的字符后再调用上述函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kitlover
2010-10-28 · 超过38用户采纳过TA的回答
知道答主
回答量:159
采纳率:0%
帮助的人:107万
展开全部
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'之间的字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chzhn
2010-10-28 · TA获得超过5342个赞
知道大有可为答主
回答量:2951
采纳率:0%
帮助的人:1447万
展开全部
打开string.h,找到strcmp然后Copy
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
starfar1983
推荐于2018-05-10 · TA获得超过2258个赞
知道小有建树答主
回答量:692
采纳率:0%
帮助的人:1033万
展开全部
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;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式