下列给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL. 例如,当字符串中的内容为“123dabf123dx”,t中内容为“ab”时

admin2022-12-02  30

问题 下列给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL.
    例如,当字符串中的内容为“123dabf123dx”,t中内容为“ab”时,输出结果应是“123dx”。当字符串中的内容为“123dabf123dx”,t中内容为“abd”时,则程序输出未找到信息“Notfoundl”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!  
试题程序:
#inelude   
#include
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;
    }
    void 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)
    pfintf("\nThe result is:%s\n",p);
    else
    pfintf("\nNotfound!\n");
    }

选项

答案(1)a=NULL; (2)if(*r==*P)

解析  (1)指针指向空值的关键字应为NULL。
  (2)指针变量r和P指向两个字符串中的字符,r和P所指向的字符相同,则指针后移指向下一个字符,故应为if(*r=*p)。
转载请注明原文地址:https://kaotiyun.com/show/pX0D777K
0

相关试题推荐
最新回复(0)