请编写一个函数fun(),它的功能是:比较两个字符串的长度, (不得调用C语言提供的求字符串长度的函数),函数返回较短的字符串。若两个字符串长度相等,则返回第1个字符串。 例如,输入nanjing<CR>nanchang<CR>(<CR>为回车键)

admin2009-02-15  19

问题 请编写一个函数fun(),它的功能是:比较两个字符串的长度,  (不得调用C语言提供的求字符串长度的函数),函数返回较短的字符串。若两个字符串长度相等,则返回第1个字符串。
   例如,输入nanjing<CR>nanchang<CR>(<CR>为回车键),函数将返回nanjing。
   注意:部分源程序给出如下。   
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
   试题程序:   
   #include<stdio.h>
   char *fun(char *S,char *t)
   {
   }
   main()
   {
   char a[20],b[10],*p,*q;
   int i;
   printf("Input lth string:");
   gets(a);
   printf("Input 2th string:");
   gets(b);   
   printf(“%s”,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++); /*比较两个字符串的长度*/ return s; /*函数返回较短的字符串,若两个字符串长度相等,则返回第1个字符串*/ else return t; }

解析 本题中,第1个for循环的作用是求出s的字符个数i,第2个for循环的作用是求出t的字符个数j,因为任何循环都要控制—条语句,所以在每—个for循环条件后面必须要有—个分号。
   本题也可用如下技巧:
   #include<string.h>    /*一定要注意在最前面加#include<string.h>*/
   char *fun(char *s,char *t)
   {
   if(strlen(S)>=strten(t)
   return  s;
   else return t;
   }
转载请注明原文地址:https://kaotiyun.com/show/eTID777K
0

随机试题
最新回复(0)