问答题

给定程序MODI1.C中函数fun()的功能是:求出s所指字符串中最后一次出现t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。
例如,当字符串中的内容为”abcdabfabcdx”,t中的内容为”ab”时,输出结果应是abcdx。当字符串中的内容为”abcdabfabcdx”,t中的内容为”abd”时,则程序输出未找到信息not be found!。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
#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;
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:%sha",p);
else printf("\nNot found !\a");

【参考答案】

(1)a=NULL; (2)if(*r==*p)
热门 试题