在C语言中比较字符串大小,可以使用库函数strcmp,也可以自己编写比较函数。
10多年的留坝网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整留坝建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“留坝网站设计”,“留坝网站推广”以来,每个客户项目都认真落实执行。
1、使用库函数。
需要包含头文件string.h。声明为:
int strcmp(const char *s1, const char *s2);
会根据字典序比较s1和s2, 如果二者相等,则返回0;如果s1较小则返回-1;如果s1较大则返回1。
比如
strcmp("123", "123") 结果为0。
strcmp("123", "456") 结果为-1。
strcmp("456", "123") 结果为1。
2、自定义函数。
实现字符串比较的方法有很多,其基本原理为按字节比较。
举例如下:
int my_strcmp(char *s1, char *s2)
{
int i;
for(i = 0; s1[i] == s2[i] s1[i]!=0; i++);//循环比较,达到结束或者出现不相等值时退出循环。
if(s1[i] == s2[i]) return 0;//代表全部相等,返回0
if(s1[i]s2[i]) return -1;//s1较小,返回-1。
return 1;//s1较大,返回1.
}
代码如下:
#include stdio.h
#include stdlib.h
int max(int a, int b)
{
return a b ? a : b;
}
int main()
{
int i, m, n;
scanf("%d", m);
for (i = 1; i 8; i++) {
scanf("%d", n);
m = max(m, n);
}
printf("最大数:%d\n", m);
system("pause");
return 0;
}
运行结果:
#includelt;stdio.hgt;
#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(*agt;*b)
{
return 0;
}
else if(*alt;*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("agt;b\n");
}
else if(1==net2)
{
printf("alt;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。
从左向右逐个字符进行比较。比较原则为空格最小,数字大写字母小写字母。
同为数字、大写字母、小写字母则'0''9'、'A''Z'、'a''z'。
若有比较结果为二个字符不相等,则二个字符串的比较结束。字符比较大小的结果,就是字符串大小比较的结果。
如果二个字符串的前若干个字符逐一对应相同,字符串长度也相同,则两个字符串相等。
如果二个字符串的前若干个字符逐一对应相同,字符串长度不相同,则较长的那个字符串为大。
使用函数strcmp(s1,s2),需要包含头文件string.h
若结果为正,表示s1s2;
若结果为负,表示s1s2;
若结果为0,表示s1==s2;