首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijingshanghai(为回车键),函数将返回shanghai。
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijingshanghai(为回车键),函数将返回shanghai。
admin
2017-11-27
55
问题
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
例如,输入beijing
shanghai
(
为回车键),函数将返回shanghai。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
char *fun (char *s, char *t)
{
}
main ()
{ char a[20] ,b[20] ;
void NONO () ;
printf("Input 1th string:");
gets(a) ;
printf("Input 2th string:");
gets(b);
printf("%s\n",fun (a, b) ) ;
NONO ();
}
void NONO ()
{/*本函数用于打开文件,输入数据,调
用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i ;
char a[20], b[20] ;
fp = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(fp, "%s %s", a, b);
fprintf(wf, "%s\n", fun(a, b));
}
fclose(fp);
fclose(wf); }
选项
答案
int i; char *p=s,*q=t; int n=0,m=0; while(*p)//计算串s的长度n,其 中p为临时指针 { n++; p++; } while(*q)//计算串t的长度m,其 中q为临时指针 {m++; q++; } if(n>=m) //比较m和n的值,设置 p指向较大的指针 p=s; else p=t; return p;
解析
进入fun函数,根据前面的分析:
(1)首先求得字符串的长度,设变量n和m分别用来求字符串的长度,初值设为0,把字符串中的字符逐个访问,每访问一个字符,n和m分别加1,直到字符串结束;
(2)使用两个临时指针变量p、q分别作为访问字符串的变量;
(3)根据m和n的值返回串,设置指针p,指向返回串的开始地址。
转载请注明原文地址:https://kaotiyun.com/show/f6xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在结构化程序设计中,模块划分的原则是()。
程序测试分为静态分析和动态测试。其中()是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的三个连续节点。structnode{intdata;structnode*next;}*P,*q,*r;现要将q所指节点从链表中删除,同时要保持链表的连续,
当用户要求输入的字符串中含有空格时,应使用的输入函数是()。
以下程序的运行结果是____________。#defineA4#defineB(x)A*x/2main(){floatc,a=8.0;c=B(a);printf(“%f\n”
运行下面的程序,输入字符串MicrosoftVisualStudio,则程序的执行结果是()。#includemain(){charChr[20];scanf(“%s”,&Chr);pfintf
若给fun函数的形参s传送字符串:“abc-6354abc”,则函数的返回值是______________。(字符串中包括空格)longfun(charS[])flongn;intsign;for(;iss
设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是()。
随机试题
急性血源性骨髓炎最早发生的部位是
十二指肠溃疡的主要发病机理之一为高胃酸,促进高胃酸分泌的因素有
下列关于表记录的编辑修改,说法错误的是
患者男,因家中地下室着火,烧伤被送来急诊室。下列哪项表现提示护士该患者属于吸入性烧伤
对于人民法院认为起诉不符合起诉条件作出的不予受理裁定,原告不服的,可以()。
背景资料:某医院门诊楼,位于市中心区域,建筑面积为28326m2,地下一层,地上十层。檐高为33.7m。框架一剪力墙结构,筏板基础。2012年3月15日开工,外墙结构及装修施工均采用钢管扣件式双排落地脚手架。事件一:工程施工至结构四层时,该地区发生了持
________国家能源局、国家电网公司先后出台了多个支持光伏发电并网的文件,业内________有研究机构认为,目前正________政策阳光的光伏业未来将再陷过剩危机,行业明年形势仍不容太乐观。业内专家表示,未来光伏业整合仍将推进,结构调整的结果是只需
中国是世界上人口最多的国家,约占世界人口的()。
OnetimewhileonhiswalkGeorgemetMr.Cattanzaracominghomeverylatefromwork.Hewonderedifhewasdrunkbutthencould
ArtistsEveryartistknowsinhisheartthatheissayingsomethingtothepublic.Notonlydoeshewanttosayitwell,but
最新回复
(
0
)