编写一个C语言函数,比较两个字符串的大小

 我来答
城凝庆伟博
2019-12-16 · TA获得超过3593个赞
知道小有建树答主
回答量:3050
采纳率:34%
帮助的人:182万
展开全部
#include<stdio.h>
#define
N
100
int
input(char*a,char*b)//输入两个字符串
{
printf("Input
the
first
information:\n");
fgets(a,N,stdin);
printf("Input
the
secend
information:\n");
fgets(b,N,stdin);
}
int
my_strcmp(char*a,char*b)//比较字符串每个字符的大小
{
while((*a!='\0')&&(*b!='\0'))
{
if(*a>*b)
{
return
0;
}
else
if(*a<*b)
{
return
1;
}
else
{
a++;
b++;
}
}
if((*a=='\0')&&(*b!='\0'))//字符串b比字符串a长
{
return
1;
}
else
if((*a!='\0')&&(*b=='\0'))//字符串a比字符串b长
{
return
0;
}
else
{
return
2;
}
}
int
main()
{
char
a[N]={0};
char
b[N]={0};
int
net2=0;
input(a,b);//调用输入函数
net2=my_strcmp(a,b);//调用比较大小函数
if(0==net2)//输出大小
{
printf("a>b\n");
}
else
if(1==net2)
{
printf("a<b\n");
}
else
{
printf("a=b\n");
}
return
0;
}
扩展资料:
一、return在函数中的作用
我们如果将函数看做一个加工厂,参数就是我们向加工厂投入的原料,具体的函数功能实际上就是加工的过程,而return语句代表返回值,就是加工厂在实现加工之后给“投资人”的成品。
二、return语句的特点
1、在函数当中,遇到return语句之后就意味着函数运行的结束,在此之后的代码是不运行的。
2、它不支持任何运算也没有任何内建方法,和任何其他的数据类型比较是否相等时永远返回false,也可以将None赋值给任何变量。
3、执行到return语句时,会退出函数,return之后的语句不再执行。但将return语句放在try语句块中,是个例外。
三、return的默认值:return函数默认的返回值为undefined。
智祖锺离意
2020-03-12 · TA获得超过3833个赞
知道大有可为答主
回答量:3118
采纳率:24%
帮助的人:184万
展开全部
思路:字符串比较大小即两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。当s1<s2时,返回-1;当s1=s2时,返回
0;当s1>s2时,返回1。
参考代码:
#include <stdio.h>
int strcmp(char *s1,char *s2) {
int i ;
for(i=0;(s1[i]!='\0')&&(s2[i] != '\0');i++) {
if(s1[i] > s2[i]) return 1;
else if(s1[i] < s2[i]) return -1;
}
if(s1[i] != '\0') return 1;
if(s2[i] != '\0') return -1;
return 0;
}
int main() {
char a[100],b[100];
gets(a);
gets(b);
if(strcmp(a,b)==1) printf("字符串a>字符串b");
else if(strcmp(a,b)==0) printf("字符串a=字符串b");
else printf("字符串a<字符串b");
return 0;
}
/*
运行结果:
asdg
asdg
字符串a=字符串b
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
籍琲建鸿宝
2020-05-23 · TA获得超过3743个赞
知道大有可为答主
回答量:3081
采纳率:30%
帮助的人:445万
展开全部
要一定是自己编写的话,就用一楼的那个,我看了没有问题。但是建议用vc库函数,因为库函数都是编程高手经过深思熟虑做成的,很健壮。而且经过了时间和大型工程的考验。库函数都是作为精品菜保留下来的。请记住;如果可以使用库函数千万不要自己去写,费时不讨好。
int
strcmp(
const
char
*string1,
const
char
*string2
);
//区分大小写
int
_stricmp(
const
char
*string1,
const
char
*string2
);
//不区分大小写<都转化成小写再比较>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式