02051021.c
来自「用C语言实现的判断子串的程序」· C语言 代码 · 共 53 行
C
53 行
#include<stdio.h>
#include<stdlib.h>
#define SIZE1 100
#define SIZE2 50
int find(char [],char []);
main()
{
char string1[SIZE1],string2[SIZE2];
printf("请输入不超过%d个字符的字符串.\n",SIZE1);
scanf("%s",string1);
printf("请输入不超过%d个字符的字符串.\n",SIZE2);
scanf("%s",string2);
if(find(string1,string2)==-1)
printf("%s不是%s的子串.\n",string2,string1);
else
printf("%s在%s的位置是%d.\n",string2,string1,find(string1,string2));
system("pause");
return 0;
}
int find(char string1[],char string2[])
{
int i,j,flag1,flag2,len1,len2;
i=0;
while(string1[i]){
i++;
}
len1=i;
i=0;
while(string2[i]){
i++;
}
len2=i;
i=0;
flag2=1;
while((i<len1-len2)&&flag2){
flag1=1;
j=0;
while((j<len2)&&flag1){
if(string2[j]!=string1[i+j]){
flag1=0;
}
j++;
}
if(flag1==1){
return i+1;
flag2=0;
}
i++;
}
return -1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?