莫斯克拉 2021-12-02 19:57 采纳率: 100%
浏览 27
已结题

这一道例题怎么都理解不明白啊 希望有懂的老人讲解一下


#include <stdio.h>
char *a ="you";
char b[]="welcome you to chaina!";
int main()
{int i,j=0;char * p;
for (i=0;b[i]!='\0';i++)
{
    if(*a==b[i])
    {
        p=a;
        for(j=i;*p!='\0';j++)
        {
            if (*p!=b[j]) break;
            p++;
        }
    if (*p == '\0')break;
    }
}
printf ("%s",&b[i]);
}
  • 写回答

3条回答 默认 最新

  • 关注

    就是说

    
    #include <stdio.h>
    char *a = "you";
    char b[] = "welcome you to chaina!";
    int main()
    {
        int i, j = 0;
        char *p;
        for (i = 0; b[i] != '\0'; i++)
        {
            if (*a == b[i])//a的第一个字符在b中被找到
            {
                p = a;
                for (j = i; *p != '\0'; j++)
                {
                    if (*p != b[j])//如果a内的字符和b对应位置的字符不对应
                        break;//break
                    p++;//p自增
                }
                if (*p == '\0')//如果扫描到结尾,说明匹配成功
                    break;
            }
        }
        printf("%s", &b[i]);//此时的b[i]为b中第一处字符串a出现的首地址
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 已采纳回答 12月2日
  • 创建了问题 12月2日

悬赏问题

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