阅读以下说明和C函数,将解答填入答题纸的对应栏内。 【说明】 函数d

练习题库2022-08-02  72

问题 阅读以下说明和C函数,将解答填入答题纸的对应栏内。【说明】    函数del_substr(S,T)的功能是从头至尾扫描字符串S,删除其中与字符串T相同的所有子串,其处理过程为:首先从串S的第一个字符开始查找子串T,若找到,则将后面的字符向前移动将子串T覆盖掉,然后继续查找子串T,否则从串S的第二个字符开始查找,依此类推,重复该过程,直到串S的结尾为止。该函数中字符串的存储类型SString定义如下:    typedef struct{    char *ch;     /*串空间的首地址*/    int length;    /*串长*/    }SString; 【C函数】    void del substr(SString*S, SString T)    {  int i, j;  if(S->length<1||T.length<1||S->length<T.length)    return;  i=0;   /* i为串S中字符的下标 */  for(;;){    j=0;   /* j为串T中字符的下标 */    while(i<S->length&&j<T.length){  /* 在串S中查找与T相同的子串 */  if(S->ch==T.ch[j]){  i++; j++;    }    else{    i= (1) ;  j=0;    /* i值回退,为继续查找T做准备 */    }  }    if( (2) ){ /* 在S中找到与T相同的子串 */    i= (3) ; /* 计算S中子串T的起始下标 */    for(k=i+T.length; k<S->length; k++) /* 通过覆盖子串T进行删除 */    S->ch[  (4) ]=S->ch[k];    S->length= (5) ;    /* 更新S的长度*/  }    else break;    /* 串S中不存在子串T */  }  }

选项

答案

解析
转载请注明原文地址:https://tihaiku.com/congyezige/2427810.html

最新回复(0)