C语言. 编写函数,判断在给定字符串中是不是包含指定的子串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言. 编写函数,判断在给定字符串中是不是包含指定的子串相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
#include<string.h>
int main()
    char str[100],s[100],i,j,flag=0;
    printf("请输入主串:\\n");
    gets(str);
    printf("请输入字串:\\n");
    gets(s);
    i=0,j=0;
    while(i<strlen(str) && j<strlen(s))
        if(str[i] == s[j])//如果字符相同则两个字符都增加
            i++;
            j++;
        
        else
            i=i-j+1; //主串字符回到比较最开始比较的后一个字符
            j=0; //字串字符重新开始
        
        if(j == strlen(s))//如果匹配成功
            flag=1; //字串出现
            break;
        
    
    if(flag==1) printf("%s中包含%s\\n",str,s);
    else printf("%s中不包含%s\\n",str,s);
    return 0;
 

参考技术A

#include "windows.h"

#include "stdio.h"


bool FindString(char* pStr, char* pSub)

bool bRet = false;

int nStrLen = strlen(pStr);

int nSubLen = strlen(pSub);

for(int i = 0; i < nStrLen; i++)

int j = 0;

for(j = 0; j < nSubLen; j++)

if(pStr[i + j] != pSub[j])

break;

if(j >= nSubLen)

bRet = true;

break;

return bRet;


void main()

char *pStr = "Those were such happy times";

char *pSub = "happy";

printf("字符串:%s\\n", pStr);

printf("子符串:%s\\n", pSub);

printf("%s", FindString(pStr, pSub) ? "存在\\n":"不存在\\n");

system("pause");

return ;


以上是关于C语言. 编写函数,判断在给定字符串中是不是包含指定的子串的主要内容,如果未能解决你的问题,请参考以下文章

C语言定义一个函数,判断字符串中是不是包含另一个子串

C语言定义一个函数,判断字符串中是不是包含另一个子串!!!!!!急

c语言如何判断素数?

C语言试题六十九之请编写函数判断一个数是不是素数

C语言试题六十九之请编写函数判断一个数是不是素数

c语言中判断一个字符串是不是包含另一个字符串