给定程序中,函数fun的功能是:求SS所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长<N。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注

admin2022-06-24  41

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

选项

答案(1)[N] (2)len (3)*n=len

解析 本题考查:字符数组处理;函数形参定义;for循环语句。
填空1:形参ss是一个字符串数组的定义,其宽度为N,所以应填写[N]。
填空2:*n用来记录最长字符串的长度,此处取第一个字符串的长度赋值给变量*n,所以应填写len。
填空3:每循环一次,判断当前字符串的长度是否大于*n,如果大于,则*n=len。
转载请注明原文地址:https://jikaoti.com/ti/d6d0FFFM
0

最新回复(0)