C语言日记21.12.14

字数:609访问原帖 评论数:1条评论 TXT下载

发表时间:2021-12-15 07:54:25 更新时间:2022-01-05 06:46:53

楼主:ty_144568977  时间:2021-12-14 23:54:25
题目要求:
查询s1是否为s2的子字符串;
若是,输出s1在s2中最早出现的位置下标
若不是,输出-1;
------------------------------------------
主函数太简单,不放了
------------------------------------------
#include <stdio.h>
#include <string.h>

int indexOf(const char *s1, const char *s2)
{
int n=-1;
int id=1;
int len1=strlen(s1), len2=strlen(s2);
int i,j;

for(i=0;i<len2;i++)
{
id=1;

for(j=0;j<len1;j++)
{
if(*(s2+j+i)!=*(s1+j))
id=0;

}

和上一篇的判断部分完全一致(就是直接复制黏贴来的)
但是由于输入实参类型是char *,函数内表示时要用地址*(s+n)表示,不能用数组下标s[n]
还有
记得改参数名
-----------------------------------------------

if(id==1)
{
n=i;
break;
}
}

return n;
}
-------------------------------------------------
超级简单
但是在Dev上编译不了,不知道为什么

大家都在看

猜你喜欢

热门帖子

TOP↑