问答题
给定程序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==’\0,)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:%s\n",p);
else printf("\nNot found !\n");
}
【参考答案】
a=Null; 改为 a=NULL;
if(r==p){r++;p++;) 改为 if(*r==*p){r++;p++;}