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语言. 编写函数,判断在给定字符串中是不是包含指定的子串的主要内容,如果未能解决你的问题,请参考以下文章