如何在C语言中比较字符串的大小?

如题所述

在C语言中比较字符串大小,可以使用库函数strcmp,也可以自己编写比较函数。 

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.
}
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜