以下程序从输入的10个字符串中找出最长的那个串,请填空。 #include <stdio.h> #include <string.h> #define N 10 main() { char str[N][81],*sp;

admin2009-02-15  21

问题 以下程序从输入的10个字符串中找出最长的那个串,请填空。
   #include <stdio.h>
   #include <string.h>
   #define N 10
   main()
   {  char str[N][81],*sp;
      int i;
      for(i=0;i<N;i++)gets(str);
      sp=str[0];
      for(i=1;i<N;i++)
      if(strlen(sp)<strlen(str))
【  】;
      printf("输出最长的那个串:\n%s\n",sp);
      printf("输出最长的那个串的长度:%d\n",strlen(sp));}

选项

答案sp=str[i]

解析 二维字符数组即数组的每个元素又是一个字符串,即字符串数组。题中二维数组的第一行的首地址赋给字符指针sp,使sp指向了二维字符数组的一个字符串。求字符串长度函数strlen比较当前字符串与数组的下一个元素的字符串的长度,如果当前字符串的长度小于下一个元素的,则指针sp又指向了下一个元素,直到比较到数组的最后一个元素,得到的sp指针所指向的字符串即为长度最长的字符串。
转载请注明原文地址:https://kaotiyun.com/show/3fXp777K
0

最新回复(0)