m0_62537405 2021-12-02 12:30 采纳率: 75%
浏览 50

运行结果不正确,不知道哪里错了

img

  • 写回答

1条回答 默认 最新

  • bekote 2021-12-02 14:44
    关注

    c字符串末尾是有结束符'\0'的,所以字符串实际长度应该是13和4,构建子串也要加上结束符
    (ps修改之后可以正确输出,但是这个程序只能用于a长度为12,b为3的例子,没有通用性)

    //main函数改a[13],b[4]
    int subtimes(char p[13], char q[4]){
        int i,j,m,n;
        char r[4];
        n=0;
        for(i=0;i<9;i++){
            for(j=0;j<3;j++)r[j]=p[j+i];
            r[3]='\0';
            m=strcmp(r,q);
            if(m==0)n++;
        }
        return n;
    }
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月2日

悬赏问题

  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏
  • ¥15 Wanted but not invoked:Actually, there were zero interactions with this moc
  • ¥20 怎么驱动tb6612
  • ¥15 Arcgis 3D效果点要素
  • ¥15 在执行yolo训练脚本的时候,没有报错,在扫描val这一步后就推出执行了
  • ¥15 delphi开发的WEBSERVER改用HTTPS协议
  • ¥15 pic16f877A单片机的计数器proteus仿真失效