给定程序中,函数fun的功能是:在形参SS所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。SS所指字符串数组中共有N个字符串,且串长小于M。程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串,

admin2013-09-15  23

问题 给定程序中,函数fun的功能是:在形参SS所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。SS所指字符串数组中共有N个字符串,且串长小于M。程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,为非0。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANK1.C中。
    不得增行或删行,也不得更改程序的结构!
#include  <Stdio.h>
#include  <String.h>
#define N 5
#define M 15
void fun(char(*SS)[M],char *substr)
{  int i,find=0;
/**********found**********/
  for(i=0;i<____1____;  i++)
/**********found**********/
    if(strstr(ss,____2____)!=NULL)
    {  find=1;puts(ss);print f("\n");}
/**********found**********/
  if(find==____3____)printf("\nDon’t found!\n____);
}
main()
{  char x[N][M]={"BASIC","C langwage","Java","QBASIC","Access"),str[M];
  int i;
  printf("\nThe original string\n\n");
  for(i=0;i<N;i++)puts(x);printf("\n");
  printf("\nEnter a string for search:");gets(str);
  fun(x,str);
}

选项

答案(1)N (2)substr (3)0

解析 第一空:“for(i=0;i<___1___;i++)”补充循环的结束条件,fun的参数(*ss)[M]是指向N行M列的字符串数组,循环是逐行字符串是否含有substr所指的子串,因此循环次数是N次,故第一空处应为“N”。
    第二空:“if(strstr(ss,___2___)!=NULL)”是判断字符串ss是否含有substr所指的子串,故第二空处为“substr”。
    第三空:“if(find==___3___)printf("\nDon’t found!\n");"说明没有找到输出提示信息,如果找到了“find=1;puts(ss);print"\n");”可知find会变成1,在没有找到的情况下find为初值0。故第三空处判断find是否等于0便可知是否找到了符合要求的字符串,因此第三空为“0”。
转载请注明原文地址:https://kaotiyun.com/show/JMJp777K
0

最新回复(0)