填空题 1.  请补充main()函数,该函数的功能是:把一个二维字符数组每行字符串中最大的字符复制到字符数组s中。
    例如,如果arr[3]={"hoih","yufui","xgf"},则str="Oyx"。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
    试题程序:
    #include<stdlib.h>
    #include<stdio.h>
    void main()
    {
    int i=0;
    char *arr[3]={"hoih","yufui","xgf"};
    char **p;
    char str[8];
    system("CLS");
    ______;
    for(i=0;i<3;i++)
    {
    str[i]=*p[i];
    while(*p[i])
    {
    if(str[i]<*p[i])
    str[i]=*p[i];
    ______;
    }
    }
    ______;
    printf("new string\n");
    puts(str);
    }
  • 1、
【正确答案】 1、p=arr
   p[i]++
   str[i]='\0'
    
【答案解析】 由程序可知,变量p指向二维数组的首地址,因此,第1空处填“p=arr”;要找出二维数组中每一行的最大字符,就要检查每一行的每一个字符,因此,第2空处填“p[i]++”;最后,要为得到的结果字符串加上结束符,因此,第3空处填“str[i]='\0'”。