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