删除字符串的第一个字符_C代码-读取两个字符串,在第二个字符串中寻找第一个字符串出现的位置...

f63ec9efec7ea6450b9b41caf8f3b36a.png

程序内容:

读取两个字符串,找出第一个字符串在第二个字符串中出现的位置,输出这些位置,如果找不到,则输出-1,第一个字符的位置是0。并且第一个字符串在第二个字符串中的位置可能不止一处。

程序主调函数代码:

#include<stdio.h>
#include<string.h>

#define SIZE 50
void s_gets(char *s1,int index);	//读取字符串,将换行符去掉
void location(char *s1,char *s2);	//寻找s1在s2中的位置
int main(void)
{
	char mainstring[SIZE];
	char str2[SIZE];
	
	s_gets(str2,SIZE);
	s_gets(mainstring,SIZE);
	
	location(mainstring,str2);

	return 0;
}
void s_gets(char *s1,int index)
{
	char * exceptional_case;
	exceptional_case=fgets(s1,index,stdin);
	while(*s1++)
		if(*s1=='n')
			*s1='0';
}
void location(char *s1,char *s2)
{
	char *p;
	int n=0;
	int nofound=-1;
	while(p=strstr(s1+n,s2))
	{
		n=p-s1;
		printf("%d ",n++);
		if(nofound)
			nofound=0;
	}
	if(nofound)
		printf("%d",nofound);
}

附:程序代码为本人亲自编写,并非书内标准答案,仅供参考。

如果程序有任何bug或者有好的建议,可以在评论区留言,或者私信,或发送邮箱weizhishuimu@163.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值