C语言日记21.12.14
发表时间: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上编译不了,不知道为什么
查询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上编译不了,不知道为什么
大家都在看
- 中秋月下
- 翁飞青疑似好事将近? 朋友圈暗示太明显,目前,尚未得到正式回复。
- 细数东亚影视剧里露*股*不*露*第*三*点的男星
- US is back学渣的翻译
- 实修者,实时观真实灵界之事。
- 【国模也疯狂】中国A4U国模汇总名单(转载)
- 细数东亚影视剧里露*股*不*露*第*三*点的男星
- 实修者,实时观真实灵界之事。
- 实修者,实时观真实灵界之事。
- 实修者,实时观真实灵界之事。
猜你喜欢
- 乡村口占
- 无题
- 台湾当局限制港澳人士“九不得”文件不小心曝光,吓坏在台港独分子
- 又是新的一年
- 《逸周书》卷25文传解诗解裁土利民积聚备荒开塞禁舍十重者王令行禁止
- 11月16日,导弹洗地基辅后,司机:导弹袭击会更多。
- 西媒:欧盟取消俄罗斯能源价格上限计划
- 外乡人喜欢眺望远方
- ❤【红袖5周年】29、但愿是曙光,而不是战术(俄乌时事探讨)
- 十万个寓言