问题 问答题

请编写一个函数proc(),它的功能是:比较两个字符串的长度(不得调用C语言中求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相等,则返回第1个字符串。
例如,若输入jiangxi<CR>
beijing<CR>(<CR>为回车键)
则函数返回jiangxi。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
char * proc(char *s, char *t)


void main()

char a[20], b[10], *p, *q;
printf("Input 1th 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语言中提供求字符串长度的函数,可以通过移动字符串指针来计算字符串的长度。定义两个变量分别存放两个字符串的长度。最后比较两个字符串的长度,返回长度较长的那一个字符串。

选择题
单项选择题