给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长

admin2017-11-27  62

问题   给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
  注意:源程序存放在考生文件夹下的BLANK1.C中。
  不得增行或删行,也不得更改程序的结构!
#include
#include
#define M 5
#define N 20
int fun(char (*ss)[N], int *n)
{ int i, k=0, len= N;
/********** found**********/
for(i=0; i<【1】; i++)
{ len=strlen(ss);
if(i==0) *n=len;
/********* found**********/
if(len 【2】 *n)
{ *n=len;
k=i;
}
}
/********** found**********/
return (【3】) ;
}
main()
{ char ss[M][N]={"shanghai",
"guangzhou","beijing","tianjing
", "chongqing"};
int n,k,i;
printf("\nThe      original
strings are :\n");
for(i=0;i);
k=fun(ss,&n);
printf("\nThe   length   of
shortest string is : %d\n",n);
printf("\nThe shortest string
is : %s\n",ss[k]);
}

选项

答案(1)M (2)< (3)k

解析 第一空:循环的目的是在M个字符串中寻找长度最短的字符串,因此,循环变量i从0变化到“M-1”,故第一空处应为“M”。
    第二空:“*n”记录最小字符串的长度,由审题分析可知,字符串ss长度比min小,则交换最小长度值和下标位置,故第二空处应为“<”。
    第三空:变量k记录了最小字符串的下标位置,函数的返回值是最短的字符串所在的行下标,故第三空处应为“k”。
转载请注明原文地址:https://kaotiyun.com/show/inxp777K
0

最新回复(0)