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; // 程序正常结束
}
相关推荐
浅念-2 分钟前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
ZH154558913110 分钟前
Flutter for OpenHarmony Python学习助手实战:API接口开发的实现
python·学习·flutter
爱吃生蚝的于勒14 分钟前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
奶茶精Gaaa21 分钟前
工具分享--F12使用技巧
学习
The森26 分钟前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix
久邦科技1 小时前
奈飞工厂中文官网入口,影视在线观看|打不开|电脑版下载
学习
好好学习天天向上~~1 小时前
6_Linux学习总结_自动化构建
linux·学习·自动化
C++ 老炮儿的技术栈2 小时前
Qt 编写 TcpClient 程序 详细步骤
c语言·开发语言·数据库·c++·qt·算法
wangjialelele2 小时前
Linux下的IO操作以及ext系列文件系统
linux·运维·服务器·c语言·c++·个人开发
非凡ghost2 小时前
PowerDirector安卓版(威力导演安卓版)
android·windows·学习·软件需求