1. 用c语言判断一个字符串是否是另一个字符串的子串 不是返回0 是返回这个子串在另一字符串中位置
#include"stdio.h"
#include<string.h>
intf(char*a,char*b){
char*p=strstr(a,b);
returnp?p-a:-1;
}
intmain(intargv,char*argc[]){//验证主函数
char*a="1234567890",*b="4567";
(x=f(a,b))>=0?printf("%d ",x):printf("Nooverlap... ");
//printf("%d ",strcspn(a,b));//这是调用库函数直接求得
return0;
}
运行结果:
2. 输入二个字符串a和b,判断字符串b是否是字符串a的子串,是则输出b串在a串中的开始位置;否则输出-1。例如
#include<stdio.h>
int p(char a[],char b[])
{
int i=0,j=0,k=0;
for(i=0;a[i];i++)
{
j=i;
for(k=0;a[j]==b[k]&&b[k]&&a[j];j++,k++);
if(!b[k])
return ++i;
}
return -1;
}
int main(void)
{
char a[100],b[100];
gets(a);
gets(b);
printf("%d\n",p(a,b));
return 0;
}
3. C语言判断一个字符串是否是另一个字符串的子串
1、首先,定义两个整型变量,保存判断的数和同构串计数。
4. 输入二个字符串a和b,判断字符串b是否是字符串a的子串,是则输出b串在a串中的开始位置否则输出-1(C语言)
有现成的为何不用?
函数名: strstr
函数原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
返回值:返回该位置的指针,如找不到,返回空指针。
5. C语言题目:判别一个字符串是否是另一个字符串的子串,若是子串输出子串第一次出现的位置,若不是则输出-1
#include<stdio.h>
intmain()
{
inti,j;
chara[100],b[100];
gets(a);
gets(b);
for(i=0;a[i]!='