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]!='