给定程序MODI1.C中函数fun的功能是:求出字符串中最后一次出现的子符串的地址 通过函数
问题详情
给定程序MODI1.C中函数fun的功能是:求出字符串中最后一次出现的子符串的地址,通过函数值返回,在主函数中输入从此地址开始的字符串;若未找到,则函数值为 MULL。例如,当字符串中的内容为:"abcdabfcdx",t中的内容为:"ab"时,输出结果应是 abfacdx,当字符串中的内容为:"abcdabfabcdx",t中的内容为:"abd"时,则程序的输出信息: not be found! include <conio.h> include <stdio.h> include <string.h> char*fun(char*s,char*t) { char*p,*r,*a; /************found************/ a=Null; while(*s) { p=s;r=t; while(*r) /************found************/ if(r==p) {r++;p++;} else break; if(*r==,)a=s; s++; } return a; } main() { char s[100],t[100],*p; clrscr(); printf("nPlease enter string S:"); scanf("%s"s); printf("nPlease enter substring t:"); scanf("%s",t); p=fun(s,t); if(p)printf("nThe result is:%sn",p); else printf("nNot found !n"); }
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:a=Null; 改为 a=NULL;if(r==p){r++;p++;) 改为 if(*r==*p){r++;p++;}
a=Null;改为a=NULL;if(r==p){r++;p++;)改为if(*r==*p){r++;p++;}