#include <stdio.h>
#include <string.h>
void main()
{
char a[100],b[100];
scanf("%s",a);
scanf("%s",b);
int i=0,j=0;
int n=0;
int k=0;
int M=strlen(a),N=strlen(b);
for(i=0;i<M;i++)
{
if(a[i]==b[0])
{
n=0;
for(j=0;j<N;j++)
{
if(a[i+j]==b[j]) n++;
}
if(n==j)
for(j=0;j<N-1;j++)
i++;
continue;
}
a[k++]=a[i];
}
a[k]='\0';
printf("%s\n",a);
}
这是个从一个字符串里删除另一个字符串的代码,但是我看不懂有大佬帮忙注释一下吗
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
7条回答 默认 最新
CSDN专家-黄老师 2021-04-29 16:58关注// 先遍历字符串a的每个字符 for(i=0;i<M;i++) { if(a[i]==b[0]) { n=0; // 遍历字符串b的每个字符 for(j=0;j<N;j++) { // 计算字符串b在字符串a有多小个相同字符,n是相同字符数量 if(a[i+j]==b[j]) n++; } // if(n==j) for(j=0;j<N-1;j++) i++; continue; } // 修改字符串a a[k++]=a[i]; }评论 打赏 举报解决 1无用