请补充main函数,改函数的功能是,把一个二维字符数组每行字符串最大的字符拷贝到字符数组s中。 例如,如果str[3]={"efjh","cfimls","owys"},则s;"hsy"。 注意:部分源程序给出如下. 请勿改动主函数mai

admin2010-09-14  30

问题 请补充main函数,改函数的功能是,把一个二维字符数组每行字符串最大的字符拷贝到字符数组s中。
   例如,如果str[3]={"efjh","cfimls","owys"},则s;"hsy"。
   注意:部分源程序给出如下.
   请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
   试题程序:
    #inc lude<stdio, h>
   main()
   {
     int i=0;
     char *str [3] ={ "efjh", "efknls",
                             "owys" };
      char **p;
      char s [8];
      clrscr 0;
【  】;
      for (i=O; i<3; i++)
      {
           s =*p ;
           while (*p )
           {
                  if (S <*p )
                          s =*p;
【  】;
            }
   }
【  】;
    printf(" new string \n");
    puts (s);
  }

选项

答案p=str p[i]++ s[i]=’\0’

解析 第一空:sb是一个大小为3的指针数组,每个指针指向一个字符串,p是指向指针的指针,首先要使指针p指向数组sb的首地址。第二空:通过p++使p指向第i个字符串的下一个字符。第三空:将每行字符串的最大字符都拷贝到字符数组s中后,不要忘了在数组s最后加上字符串结束标记符‘\0’。
转载请注明原文地址:https://kaotiyun.com/show/qWID777K
0

最新回复(0)