m0_63713870 2021-12-15 00:14 采纳率: 83.3%
浏览 26
已结题

一道C语言函数题。。

      编程实现以下功能

编写funO函数,实现求字符串中最后一次输出 的子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值返回NULL。例如,当字符串中内容
为uywxuvsuvwxyz,子字符串的内容为uv时,输出结果应是uywxyz,当子字符串的内容为uyb时,输出未找到: Not found!

  • 写回答

1条回答 默认 最新

  • bekote 2021-12-15 09:55
    关注
    
    #include <stdio.h>
    #include <string.h>
    char* funO(char str[], char sub[]){
        int n = strlen(str);
        int m = strlen(sub);
        int j=m-1,k;
        for(int i=n-1;i>=0;i--){
            k=i;
            while(str[k]==sub[j]&&k>=0&&j>=0){
                k--;
                j--;
            }
            if(j==-1){
                return str+k+1;
            }
            else{
                j=m-1;
            }
        }
        return NULL;
    }
    int main(void) {
        char str[]={"uywxuvsuvwxyz"};
        char sub1[]={"uv"};
        char* res = funO(str, sub1);
        if(res==NULL){
            printf("Not found!\n");
        }
        else{
            printf("%s\n",res);
        }
        
        char sub2[]={"uyb"};
        res = funO(str, sub2);
        if(res==NULL){
            printf("Not found!\n");
        }
        else{
            printf("%s\n",res);
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月16日
  • 创建了问题 12月15日

悬赏问题

  • ¥15 全志v3s怎么设置高速时钟,使用的荔枝派zero开发板,串口2需要921600的波特率
  • ¥15 关于#单片机#的问题:Lora通讯模块hc-14电路图求内部原理图
  • ¥50 esp32 wroom 32e 芯片解锁
  • ¥15 bywave配置文件写入失败
  • ¥20 基于Simulink的ZPW2000轨道电路仿真
  • ¥15 pycharm找不到在环境装好的opencv-python
  • ¥15 在不同的执行界面调用同一个页面
  • ¥20 基于51单片机的数字频率计
  • ¥50 M3T长焦相机如何标定以及正射影像拼接问题
  • ¥15 keepalived的虚拟VIP地址 ping -s 发包测试,只能通过1472字节以下的数据包(相关搜索:静态路由)