weixin_49977133 2022-03-03 13:37 采纳率: 40%
浏览 325
已结题

关于#c语言#的问题:从键盘输入2个字符串,计算字符串str1中字符串str2出现的次数

从键盘输入2个字符串,计算字符串str1中字符串str2出现的次数。要求:不使用字符串比较库函数,直接使用指针进行字符比较。
如:str1为“an”,str2为“they are an apple and an orange ”,则str1在str2中出现了3次。

  • 写回答

3条回答 默认 最新

  • 关注
    
    #include <stdio.h>
    #include <string.h>
    
    int countString(char *str1,char *str2);//统计字符串出现次数
    int main()
    {
        char str1[100],str2[100],*p1=str1,*p2=str2;
        int k=0;
        scanf("%s",str1);
        scanf("%s",str2);
        k=countString(str1,str2);
        if(k==0)
            printf("NO\n");
        else    
            printf("%d\n",k);
        return 0;
    }
    int countString(char *str1,char *str2)//递归函数
    { 
    
        return (*str1=='\0'||strstr(str1,str2)==NULL)?0:1+countString(strstr(str1,str2)+strlen(str2),str2);
    
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月11日
  • 已采纳回答 3月3日
  • 创建了问题 3月3日

悬赏问题

  • ¥50 swiftui @query 报错
  • ¥50 怎么解决刷卡或扫码后,点击软件输入框,win10屏幕键盘不会自动弹出的问题
  • ¥15 如何使用arcgispro的训练深度模型,发现water和nowater精度为0?(相关搜索:深度学习)
  • ¥20 matlab作业不太懂呀有问题能给个代码吗
  • ¥15 自制电路图为何无法驱动ESP01S?
  • ¥15 前端加access数据库
  • ¥15 ARCGIS 多值提取到点 ERROR 999999
  • ¥15 mysql异常断电, [MY-011971] [InnoDB]
  • ¥15 uni.onBluetoothDeviceFound熄屏不运行
  • ¥15 求PHDA糖尿病并发症数据集,有偿