字符串包含关系
#include <stdio.h>#include <string.h>
#define N 60
#define M 10000
int main()
{
char a;
int i,j,k,sum=0, flag;
char b;
int longLength, lowLength, length;
printf("请输入一串字符串:");
scanf("%s",&a);
longLength = strlen(a);
printf("请输入另一串字符串:");
scanf("%s",&b);
lowLength = strlen(b);
for ( i = 0; i <= longLength-lowLength; i++)
{
if ( a == b)
{
flag = i;
j = i;
while ( a == b)
{
j++;
}
if ( j == ( i + lowLength))
{
printf("该字符串存在于长字符串中,位置为%d位到%d位\n", (flag + 1), (flag + lowLength));
sum+=1;
continue;
}
}
}
if(sum!=0)
{
return 0;
}
printf("该字符串不存在\n");
return 0;
} 本帖最后由 Sue. 于 2021-10-12 21:47 编辑
https://i.loli.net/2021/10/12/wcHjqQ3Vv69ZCuL.png
为什么最后一个显示不出来{:10_272:} https://i.loli.net/2021/10/12/wcHjqQ3Vv69ZCuL.png
为啥最后一个显示不出来{:10_272:} 本帖最后由 jhq999 于 2021-10-13 15:58 编辑
每个字符串后面都有结束标志‘\0’
而且
while ( a == b)
{
j++;
}
循环这么写数组越界是肯定的 jhq999 发表于 2021-10-13 15:55
每个字符串后面都有结束标志‘\0’
而且
能帮我修改一下吗{:10_278:} 本帖最后由 jhq999 于 2021-10-13 17:17 编辑
Sue. 发表于 2021-10-13 17:13
能帮我修改一下吗
while ( a == b&&a&&b) jhq999 发表于 2021-10-13 17:16
感谢{:10_275:} jhq999 发表于 2021-10-13 17:16
能说下a == b&&a&&b啥意思嘛没看懂{:10_262:} 本帖最后由 jhq999 于 2021-10-13 19:12 编辑
'\0'=0=false,a或b循环到'\0',退出循环 jhq999 发表于 2021-10-13 19:10
'\0'=0=false,a或b循环到'\0',退出循环
&&还能这么用吗{:10_272:}
你知道在哪有这种用法的介绍吗我看看去{:10_255:}
页:
[1]