活动设计题
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
char*fun(char*s,char*t)
{
}
main()
{char a[20],b[20];
printf('Input 1th string:');
gets(a);
printf('Input 2th string:');
gets(b);
printf('%s\n',fun(a,b));
}
【正确答案】char *fun (char *s, char *t) { int i,j; for(i=0;s[i]!='\0';i++); /*求字符串的长度*/ for(j=0;t[j]!='\0';j++); if(i<=j) /*比较两个字符串的长度*/ return t; else return s; }
【答案解析】 本题中,第1个for循环的作用是求出s串的字符个数i,第2个for循环的作用是求出t串的字符个数j,因为任何循环都要控制一条语句,所以在每一个for循环语句后面加上一个分号以结束循环。