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; // 程序正常结束
}
相关推荐
Chris _data22 分钟前
WPF 上位机开发学习笔记 - 第四天
笔记·学习·wpf
HY小宝F1 小时前
树莓派 FFmpeg 实战笔记(二):命令行、源码编译与硬件编码的真相
学习·职场和发展·ffmpeg
不灭的黄金瞳1231 小时前
预处理详解
c语言
2601_967264281 小时前
Jetpack Compose 实践指南:从入门到进阶
java·学习
小雪崩2 小时前
嵌入式学习 day25:哈希表及排序与查找
linux·c语言·数据结构·学习·排序算法
yiqiefeimeng3 小时前
C语言指针难倒90%人?买房比喻让你瞬间开窍
c语言·学习·编程·指针·比喻
GHL2842710903 小时前
Skill学习
学习·ai
田径他爸来了3 小时前
嵌入式学习第30天——软中断,Ip进程间的通信
学习
caimouse3 小时前
ReactOS 窗口系统分析(5):可见区域与窗口 DC — vis.c + windc.c
c语言·开发语言
_Narcissus_5 小时前
动态规划初探(含完整代码实现)
c语言·数据结构·c++·算法·动态规划·背包问题·最短路径