问答题
请编写一个函数proc(),它的功能是:比较2个字符串的长度(不得调用C语言提供的求字符串长度的函数),函数返回较短的字符串。若2个字符串长度相等,则返回第1个字符串。
例如,输入shanghai<CR>hebei<CR>(<CR>为Enter键),函数将返回hebei。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
char*proc(char*str, char*1)
{
}
void main()
{
char a[20], b[10];
printf("Input 1th string: ");
gets(a);
printf("Input 2th string: ");
gets(b);
printf("%s", proc(a, b));
}
【正确答案】
【答案解析】char*proc(char*str, char*t)
{
int i, j;
for(i=0; str[i]!="/0"; i++); //i是为了计算s字符串的长度
for(j=0; t[j]!="/0"; j++); //j是为了计算t字符串的长度
if(i<=j)
return str; //如果j大则返回s字符串
else//反之则返回t字符串
return t;
}
[解析] 要返回较短的字符串,首先要计算2个字符串的长度。将长度较小的字符串返回到主函数当中。