实验11-1-8 查找子串

本题要求实现一个字符串查找的简单函数。

函数接口定义:

c 复制代码
char *search( char *s, char *t );

函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。
输入样例1:

c 复制代码
The C Programming Language
ram

输出样例1:

c 复制代码
10

输入样例2:

c 复制代码
The C Programming Language
bored

输出样例2:

c 复制代码
-1

具体程序:

c 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define MAXS 30

char* search(char* s, char* t);

int main()
{
    char s[MAXS], t[MAXS], * pos;

    gets(s);
    gets(t);
    pos = search(s, t);
    if (pos != NULL)
        printf("%d\n", pos - s);
    else
        printf("-1\n");

    return 0;
}
char* search(char* s, char* t)
{
    int i = 0;
    while (*(s + i) != '\0')
    {
        if (*(s + i) == *t)
        {
            int j = 0;
            while (*(t + j) != '\0')
            {
                if (*(s + i + j) != *(t + j))break;
                j++;
            }
            if (*(t + j) == '\0')
                return(s + i);
        }
        i++;
    }
    return NULL;
}

运行效果:

相关推荐
老鼠只爱大米2 分钟前
LeetCode算法题详解 76:最小覆盖子串
算法·leetcode·双指针·滑动窗口·最小覆盖子串·minwindow
HABuo3 分钟前
【linux进程控制(一)】进程创建&退出-->fork&退出码详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
郝学胜-神的一滴3 分钟前
Python方法类型详解:类方法、静态方法与实例方法
开发语言·python·程序人生
CodeByV7 分钟前
【算法题】链表
数据结构·算法
小杨同学497 分钟前
【嵌入式 C 语言实战】单链表的完整实现与核心操作详解
后端·算法·架构
Tandy12356_10 分钟前
手写TCP/IP协议栈——TCP数据接收
c语言·网络·网络协议·tcp/ip·计算机网络
码农胖虎-java15 分钟前
【java并发编程】从源码角度彻底理解 ForkJoinPool.commonPool
java·开发语言·python
CQ_YM17 分钟前
SQLite3 数据库与网页html
c语言·数据库·sqlite·html
爱说实话19 分钟前
c# 20260113
开发语言·c#
小郭团队20 分钟前
1_2_五段式SVPWM (传统算法反正切+DPWMmin)算法理论与 MATLAB 实现详解
开发语言·嵌入式硬件·matlab·dsp开发