填空题 给定程序中,函数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;
for(i=0; i< __1__ ; i++)
if( strstr(ss[i], __2__) != NULL )
{ find=1; puts(ss[i]); printf("\n"); }
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[i]); printf("\n");
printf("\nEnter a string for search : "); gets(str);
fun(x,str);
}
解题思路: 本题是根据给定的字符串数组中查找指定的字符串,如果存在,则显示。
第一处:利用for循环,从几个字符串中进行查找,程序中已经给定了N个字符串,所以应填:N。
第二处:查找子串,子串由形参substr传递,所以应填:substr。
第三处:试题要求,若没有找到,函数值为0,所以应填:0。