strcmp函数详解

目录

一、strcmp函数是什么?

二、使用场景

用作判断两个字符串是否相等

三、总结


一、strcmp函数是什么?

strcmp 是一个在 C 语言中常用的函数,用于比较两个字符串。这个函数定义在 <string.h> 头文件中。

函数原型如下:

int strcmp(const char *s1, const char *s2);

strcmp函数会比较两个字符串s1s2

返回值有三种可能:

  1. 如果 s1 和 s2 完全相同,返回 0
  2. 如果 s1 在字典顺序上小于 s2,返回一个负整数。
  3. 如果 s1 在字典顺序上大于 s2,返回一个正整数。

字典顺序比较是基于 ASCII 码。

小写字母的 ASCII 值大于大写字母所以有:

    char str1[] = "Hello";  
    char str2[] = "World";  
    char str3[] = "Hello";        
    int result1 = strcmp(str1, str2); //结果为 -1
    int result2 = strcmp(str1, str3);  //结果为0
这是因为“Hello" 在字典顺序上小于 "World",而“Hello" 在字典顺序上等于 “Hello" 。

二、使用场景

用作判断两个字符串是否相等

例如:处理用户输入

#include <stdio.h>  
#include <string.h>  
  
int main() {  
    char str1[100];  
    char str2[100];  
  
    printf("请输入第一个字符串: ");  
    fgets(str1, sizeof(str1), stdin); // 读取用户输入的字符串,包括空格  
    str1[strcspn(str1, "\n")] = 0; // 去除 fgets 读取的换行符  
  
    printf("请输入第二个字符串: ");  
    fgets(str2, sizeof(str2), stdin);  
    str2[strcspn(str2, "\n")] = 0;  
  
    if (strcmp(str1, str2) == 0) {  
        printf("您输入的两个字符串是相等的。\n");  
    } else {  
        printf("您输入的两个字符串是不相等的。\n");  
    }  
  
    return 0;  
}

注意事项:使用 strcmp 时,应确保传入的字符串是以 '\0' 结尾的,否则函数的行为可能是未定义的。

三、总结

strcmp 函数是 C 语言标准库中的一个函数,用于比较两个字符串。它接受两个以空字符 '\0' 结尾的字符串作为参数,并返回一个整数,表示这两个字符串在字典顺序上的关系。总的来说这是一个非常有用的函数,你可以用于排序算法、查找算法、字符串匹配等场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值