问答题
1. 请编写一个函数proc(),它的功能是:比较2个字符串的长度(不得调用C语言中求字符串长度的函数),函数返回较长的字符串。若2个字符串长度相等,则返回第1个字符串。
例如,若输入:
jiangxi<Enter>
beijing<Enter>
则函数返回jiangxi。
注意:部分源程序如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
char*proc(char*s,char*t)
{
}
void main()
char a[20],b[10],*p,*q;
printf("Input Ith string:");
gets(a);
printf("Input 2th string:");
gets(b);
printf("%s",proc(a,b));
}
【正确答案】char *proc(char *s,char *t)
{
int i,j;
for(i=0; s[i]!='\0'; i++);//i表示数组s的长度
for(j=0; t[j]!='\0'; j++); //j表示数组t的长度
if(i>=j)//若i大于j,说明数组s的长度长,因此返回s
return s;
else//反之则返回t
return t;
}
【答案解析】 题目要求不能用C语言中提供的求字符串长度的函数,可以通过移动字符串指针来计算字符串的长度。定义2个变量,分别存放2个字符串的长度,最后,比较2个字符串的长度,返回相对较长的那个字符串。