问答题 给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长 #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[i]); 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
【正确答案】正确答案:(1)M (2)< (3)k
【答案解析】解析:第一空:循环的目的是在M个字符串中寻找长度最短的字符串,因此,循环变量i从0变化到“M-1”,故第一空处应为“M”。 第二空:“*n”记录最小字符串的长度,由审题分析可知,字符串ss[i]长度比min小,则交换最小长度值和下标位置,故第二空处应为“<”。 第三空:变量k记录了最小字符串的下标位置,函数的返回值是最短的字符串所在的行下标,故第三空处应为“k”。