味堡o_0 2021-04-29 16:35 采纳率: 28.6%
浏览 48

这是个从一个字符串里删除另一个字符串的代码,但是我看不懂有大佬帮忙注释一下吗

#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);
}

  • 写回答

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];
        }
    评论

报告相同问题?

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画