#include <stdio.h>
#include <string.h>
#define M 5
#define N 20
int fun(char (*ss)[N], int *n)//*n记录最小字符串的长度
{int i, k=0, len= N;//变量k记录了最小字符串的下标位置
/**********found**********/
for(i=0; i<M; i++)//在M个字符串中寻找长度最短的字符串,因此循环变量i从0变化到M-1
{len=strlen(ss[i]);//串长长度赋值到len
if(i==0) *n=len;
/**********found**********/
if(len <*n)//字符串ss[i]长度比min小,则交换最小长度值和下标位置
{ *n=len;
k=i;
}
}
/**********found**********/
return(k);//函数的返回值是最短的字符串所在的行下标
}
main()
{char ss[M][N]={"shanghai","guangzhou","beijing", "tianjing","chongqing"};
int n,k,i;
printf("\nThe original strings are :\n");
for(i=0;i<M;i++)puts(ss[i]);
k=fun(ss,&n);
printf("\nThe length of shortest string is : %d\n",n);
printf("\nThe shortest string is : %s\n",ss[k]);
}