2025-04-01 16:16:54 +08:00

55 lines
1.4 KiB
C

/*-----------------------------------------------------------------------
【程序设计】
-----------------------------------------------------------------------
定义一个函数判断一个字符串是否是另一个字符串的子字符串,要求用指针实现。
输入输出如下:
【请输入第一个字符串:】abcdefg1234qwert
【请输入第二个字符串:】4q
字符串'4q'是字符串'abcdefg1234qwert'的子字符串
-------------------------------------------------------------------------
注意:请勿改动程序中的其他内容,请勿重新定义变量名。
------------------------------------------------------------------------*/
#include <stdio.h>
#include <string.h>
// 函数声明,用于判断子字符串
int isSubstring(char *str1, char *str2);
int main()
{
char str1[100], str2[100];
printf("【请输入第一个字符串:】");
gets(str1);
printf("【请输入第二个字符串:】");
gets(str2);
if (isSubstring(str1, str2))
{
printf("字符串'%s'是字符串'%s'的子字符串\n", str2, str1);
}
else
{
printf("字符串'%s'不是字符串'%s'的子字符串\n", str2, str1);
}
return 0;
}
int isSubstring(char *str1, char *str2)
{
int len1 = strlen(str1);
int len2 = strlen(str2);
int i, j;
/**********Program**********/
for(i=0;i<len1;i++){
j=0;
while(str1[i] == str2[j] && str2[j] != '\0'){
i++;
j++;
}
if(j != 0){
i-=j;
}
if(str2[j] == '\0'){
return 1;
}
}
/********** End **********/
return 0;
}