填空题
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、p=arr
p[i]++
str[i]='\0'
【答案解析】 由程序可知,变量p指向二维数组的首地址,因此,第1空处填“p=arr”;要找出二维数组中每一行的最大字符,就要检查每一行的每一个字符,因此,第2空处填“p[i]++”;最后,要为得到的结果字符串加上结束符,因此,第3空处填“str[i]='\0'”。