2025-02-26 学习记录--C/C++-C语言 判断字符串S2是否在字符串S1中

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

C语言 判断字符串S2是否在字符串S1

c 复制代码
#include <stdio.h>  // 引入标准输入输出库,用于使用 printf 等函数
#include <string.h> // 引入字符串处理库,用于使用 strstr 等函数

int main() {
    const char *S1 = "Hello, world!"; // 定义字符串 S1,内容为 "Hello, world!"
    const char *S2 = "world";         // 定义字符串 S2,内容为 "world"
    char *p;                          // 定义一个字符指针 p,用于存储 strstr 的返回值

    // 使用 strstr 函数在 S1 中查找 S2
    // 如果 S2 是 S1 的子串,p 指向 S2 在 S1 中首次出现的位置
    // 如果 S2 不是 S1 的子串,p 为 NULL
    if ((p = strstr(S1, S2)) == NULL) {
        // 如果 p 为 NULL,说明 S2 不在 S1 中
        printf("'%s' not found in '%s'\n", S2, S1); // 输出未找到的信息
    } else {
        // 如果 p 不为 NULL,说明 S2 是 S1 的子串
        // 计算 S2 在 S1 中的位置(p - S1 表示指针偏移量)
        printf("'%s' found in '%s' at position: %ld\n", S2, S1, p - S1); // 输出找到的位置
    }

    return 0; // 程序正常结束
}
相关推荐
宵时待雨18 分钟前
数据结构(初阶)笔记归纳3:顺序表的应用
c语言·开发语言·数据结构·笔记·算法
智者知已应修善业20 分钟前
【C语言 dfs算法 十四届蓝桥杯 D飞机降落问题】2024-4-12
c语言·c++·经验分享·笔记·算法·蓝桥杯·深度优先
副露のmagic29 分钟前
更弱智的算法学习 day36
学习·算法
科技林总1 小时前
【系统分析师】3.3 输入输出系统
学习
进阶小白猿1 小时前
Java技术八股学习Day17
java·jvm·学习
whale fall1 小时前
【雅思听力语料库5.1】
笔记·学习
无限进步_2 小时前
【C语言&数据结构】二叉树遍历:从前序构建到中序输出
c语言·开发语言·数据结构·c++·算法·github·visual studio
半夏知半秋2 小时前
kcp学习-skynet中的kcp绑定
开发语言·笔记·后端·学习
专注于大数据技术栈2 小时前
java学习--HashSet
java·学习·哈希算法