如何在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/zh-hk/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

發表回復

登錄後才能評論