如何在C语言中判断字符串中是否包含某个字符

一、使用strchr函数判断

在C语言中,我们可以使用strchr库函数来查找一个特定的字符是否在一个字符串中存在。strchr函数的原型在string.h头文件中声明为:

char* strchr(const char* str, int c);

其中str为要查找的字符串,c是要查找的字符。

如果该字符未在字符串中找到,则返回NULL,否则返回该字符在字符串中的位置。

代码示例:

#include <stdio.h>
#include <string.h>

int main(){
    char str1[] = "Hello, world!";
    if (strchr(str1, 'o') != NULL) {
        printf("The character o is found.\n");
    }
    else {
        printf("The character o is not found.\n");
    }

    return 0;
}

输出结果:

The character o is found.

二、使用while循环遍历字符串

我们也可以使用while循环来遍历字符串,逐个比较其中的每一个字符是否是我们要查找的字符。

代码示例:

#include <stdio.h>
#include <string.h>

int main(){
    char str1[] = "Hello, world!";
    char c = 'o';
    int flag = 0;
    int i = 0;

    while (str1[i] != '\0') {
        if (str1[i] == c) {
            flag = 1;
            break;
        }
        i++;
    }

    if (flag == 1) {
        printf("The character %c is found.\n", c);
    }
    else {
        printf("The character %c is not found.\n", c);
    }

    return 0;
}

输出结果:

The character o is found.

三、使用strstr函数判断

除了strchr函数外,我们还可以使用strstr函数查找一个字符串中是否包含另一个字符串。strstr函数的原型在string.h头文件中声明为:

char* strstr(const char* str1, const char* str2);

其中,str1是要查找的字符串,str2是要查找的子字符串。

如果子字符串未在父字符串中找到,则返回NULL,否则返回子字符串在父字符串中的位置。

代码示例:

#include <stdio.h>
#include <string.h>

int main(){
    char str1[] = "Hello, world!";
    char str2[] = "wor";
    if (strstr(str1, str2) != NULL) {
        printf("The substring %s is found.\n", str2);
    }
    else {
        printf("The substring %s is not found.\n", str2);
    }

    return 0;
}

输出结果:

The substring wor is found.

四、使用自定义函数实现判断

在C语言中,我们也可以通过自定义函数来实现判断目标字符是否在字符串中存在的功能。

代码示例:

#include <stdio.h>
#include <string.h>

int isInString(char str[], char c);

int main(){
    char str1[] = "Hello, world!";
    char c = 'o';

    if(isInString(str1, c)){
        printf("The character %c is found.\n", c);
    }
    else{
        printf("The character %c is not found.\n", c);
    }

    return 0;
}

int isInString(char str[], char c){
    int i = 0;
    while(str[i] != '\0'){
        if(str[i] == c){
            return 1;
        }
        i++;
    }
    return 0;
}

输出结果:

The character o is found.

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/234023.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-11 17:13
下一篇 2024-12-11 17:13

相关推荐

  • 英语年龄用连字符号(Hyphenation for English Age)

    英语年龄通常使用连字符号表示,比如 “five-year-old boy”。本文将从多个方面探讨英语年龄的连字符使用问题。 一、英语年龄的表达方式 英语中表…

    编程 2025-04-29
  • 如何在PyCharm中安装OpenCV?

    本文将从以下几个方面详细介绍如何在PyCharm中安装OpenCV。 一、安装Python 在安装OpenCV之前,请确保已经安装了Python。 如果您还没有安装Python,可…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python中将字符串转化为浮点数

    本文将介绍在Python中将字符串转化为浮点数的常用方法。在介绍方法之前,我们先来思考一下这个问题应该如何解决。 一、eval函数 在Python中,最简单、最常用的将字符串转化为…

    编程 2025-04-29
  • Python字符转列表指南

    Python是一个极为流行的脚本语言,在数据处理、数据分析、人工智能等领域广泛应用。在很多场景下需要将字符串转换为列表,以便于操作和处理,本篇文章将从多个方面对Python字符转列…

    编程 2025-04-29
  • 如何在Python中实现平方运算?

    在Python中,平方运算是常见的数学运算之一。本文将从多个方面详细阐述如何在Python中实现平方运算。 一、使用乘法运算实现平方 平方运算就是一个数乘以自己,因此可以使用乘法运…

    编程 2025-04-29
  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • 如何在树莓派上安装Windows 7系统?

    随着树莓派的普及,许多用户想在树莓派上安装Windows 7操作系统。 一、准备工作 在开始之前,需要准备以下材料: 1.树莓派4B一台; 2.一张8GB以上的SD卡; 3.下载并…

    编程 2025-04-29

发表回复

登录后才能评论