编写c语言程序,不使用strcmp函数,比较任意两个字符串的大小。

 我来答
mzcheng1
推荐于2016-05-28 · TA获得超过300个赞
知道小有建树答主
回答量:421
采纳率:0%
帮助的人:221万
展开全部
首先
比较两个字符串的长度是否一样
int str1length = strlen(str1);
int str2length = strlen(str2);
如果不一样,就不用比了
if(str1 != str2) return 不相匹配
如果相等
int i = 0;
while( i < str1length)
{
if(str1[i] != str2[i])
{
return 不相匹配
}
i++;
}

else
return 相等
candiazeng
2011-05-14 · TA获得超过203个赞
知道小有建树答主
回答量:84
采纳率:100%
帮助的人:54.3万
展开全部
int my_strcmp(char *str1,char *str2){
char *p1.*p2;
p1=str1;
p2=str2;
if(*p1!=0&&*p2!=0){
p1++;
p2++;
}
if(*p1!=0)
return 1;
else if(*p2!=0)
return -1;
else
return 0;
}
1是str1长度大于str2
-1是str2长度大于str1
0是str1和str2相等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
doingright
2011-05-14 · TA获得超过1188个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:726万
展开全部
如果不用strcmp函数,可以使用printf;
printf("%s%s",str1,str2);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不傻不笨不弱智
2011-05-14 · TA获得超过561个赞
知道小有建树答主
回答量:377
采纳率:100%
帮助的人:313万
展开全部
#include<stdio.h>
int strcmp(char *s1, char *s2)
{
while(*s1++==*s2++)
if(*s1==0&&*s2==0) return 0;
return *s1-*s2>0?1:-1;
}

void main()
{
char s1[100], s2[100];
gets(s1);
gets(s2);
printf("%d", strcmp(s1,s2));

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式