C 中 strcmp( )函数功能的简洁解释

两个字符串自左向右开始相比(按 ASCII 值大小相比较)

如果 str1 和 str2 相同位置 的 字符 的ASCII值相同

则比较 str1 和 str2 下一个 相同位置的字符 直到 相同位置 的字符 的ASCII值不相同

停止比较 根据 当前位置的字符 的ASCII值的大小 确定返回值

如果 str1 < str2 返回一个小于0的数

如果 str1 = str2 返回0

如果 str1 < str2 返回一个大于0的数

ASCII :

A == 65
a== 97
/0 ==0

c中字符串结尾实际上还有一个字符 '/0’作为结束符号 。

所以 “abc” <“abcA”

又有 “ac” > "abcdefg“ 是因为 ‘a’ == ‘a’ 比较下一个 ‘c’ > ‘b’ 故 “ac” > “abcdefg”

下面是自测代码

  • #include<stdio.h>
    #include<string.h>
    int main(void){
    char str1[20];
    char str2[20];
    int ret;
    while(scanf("%s%s",&str1,&str2) != EOF){// 按下 ctrl + z 结束输入
    ret = strcmp(str1, str2);

    if(ret < 0)
    {
    printf("%s 小于 %s",str1,str2);
    }
    else if(ret > 0)
    {
    printf("%s 大于 %s",str1,str2);
    }
    else
    {
    printf("%s 等于 %s",str1,str2);
    }
    printf("\n");
    }

    return 0;
    }

strcmp函数C语言的一个字符串比较函数,它用于比较两个字符串的大小关系。该函数的原型为extern int strcmp(const char *s1,const char * s2),其s1和s2是要进行比较的两个字符串strcmp函数会按照字典顺序比较两个字符串的字符,并返回一个整数值来表示比较结果。如果s1小于s2,返回一个负数;如果s1大于s2,返回一个正数;如果s1等于s2,返回0。因此,可以通过判断strcmp函数的返回值来确定两个字符串的大小关系。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C strcmp( )函数功能简洁解释](https://blog.csdn.net/qq_42702204/article/details/104309639)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [strcmp函数 strcmp函数 strcmp函数](https://download.csdn.net/download/righteousness/87840448)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [strcmp函数(讲解)](https://blog.csdn.net/u013100446/article/details/20392239)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值