c语言 串的减法测试用例,7个测试用例中的1个不能使用这个简单的C程序来查找子字符串...

我已经被赋予编写C程序的任务,以找到包含7个测试用例的子字符串.我编写了程序,但它只传递了6个测试用例.第7次失败,我无法确定其背后的原因.

编辑:这是我给作业的问题.

编写一个程序,它接受两个输入字符串S1和S2,并查找S2是否是S1的子字符串.如果S2是S1的子字符串,程序应该在S1处打印匹配的索引.如果S2不是S1的子字符串,程序应该打印-1.如果S2多次出现在S1中,则在S1中打印匹配发生的第一个索引.

这是我编写的程序的源代码.

#include

#include

int main() {

char st1[19];

char st2[19];

int cnt,i,k,c,len,m,sign;

scanf("%s %s", st1, st2);

len=strlen(st1);

for(i=0; i

c=0;

if (st1[i] == st2[c]) {

m = i;

sign = 0;

cnt = 0;

while(st2[c] != '\0' && sign!=1) {

if (st1[m] == st2[c]) {

m++;

c++;

cnt++;

} else

sign=1;

}

if (sign == 0) {

printf("%d",i);

k=1;

}

}

}

if (k != 1)

if (sign!=0)

printf("-1");

return 0;

}

第7个测试用例如下

输入:

coolgoose oo

预期产量:

1

实际产量:

15

编辑2:以下是其他通过的测试用例.

Input Output

football foot 0

mickey mouse -1

abcdefghijklmnopqrs s 18

helloworld helloworld 0

FrodoBaggins bagg -1

Hell Hello -1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值