首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。 例如,当s所指字符串中的内容为“abcdab-fabc”,t1所
下列给定程序中,函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。 例如,当s所指字符串中的内容为“abcdab-fabc”,t1所
admin
2016-12-06
68
问题
下列给定程序中,函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。
例如,当s所指字符串中的内容为“abcdab-fabc”,t1所指串中的内容为“ab”,t2所指子串中的内容为“99”时,结果在W所指的数组中的内容应为“abcdabf99c”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<conio.h>
2 #include<stdio.h>
3 #include<string.h>
4 void fun(char * s,char t1,char t2,char w)
5 {
6 char* p,*r,*a;
7 strcpy(w,s);
8 /*********found*********/
9 while(w)
10 {
11 p=w;
12 r=t1;
13 while(*r)
14 /*********found*********/
15 IF(*r==*p)
16 {
17 r++;
18 p++;
19 }
20 else
21 {
22 break;
23 }
24 if(*r==’\0’)
25 a=w;
26 w++;
27 }
28 r=t2;
29 while(*r)
30 {
31 *a=*r;
32 a++;
33 r++;
34 }
35 }
36 main()
37 {
38 char s[100],t1[100],t2[100],w[100];
39 printf(’’\nPlease enter string s:’’);
40 scanf(’’%s’’,s);
41 printf(’’\nPlease enter substring tl:’’);
42 scanf(’’%s’’,t1);
43 print f(’’\nPlease enter substring t2:’’);
44 scanf(’’%s’’,t2);
45 if(strlen(t1)==strlen(t2))
46 {
47 fun(s,t1,t2,w);
48 printf(’’\nThe result is:%s\n’’,w);
49 }
50 else
51 {
52 printf(’’\nError:strlen(t1)!=strlen(t2)\n’’);
53 }
54 }
选项
答案
(1)while(*w) (2)it(*r==*p)
解析
(1)此处要判断的是值的真假,而不是地址,所以改为while(*w)。
(2)C语言中关键字区分大小写,只需运行程序,就可以根据错误提示找到。
转载请注明原文地址:https://www.kaotiyun.com/show/LVDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、______和选择排序。
数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为______。
下列程序执行后输出的结果是______。intd=l;fun(intp){intd=5;d+=p++;printf("%d,",d);}
有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;}程序在执行了c=&b;b=&a;语句后,表达式**c的值是______。
有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*P,*q,*r;
为了使模块尽可能独立,要求______。
在关系数据库中,把数据表示成二维表,每一个二维表称为【】。
有以下程序:main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][
已定义c为字符型变量,则下列语句中正确是______。
下列程序的功能是对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。#include<stdio.h>#include<ctype.h>main(){charc;
随机试题
A.引起50%阳性反应的浓度或剂量B.引起50%试验动物死亡的量C.引起药理效应的最小药量D.药理效应用数或量或最大反应的百分率表示E.药理效应不是随着药物剂量或浓度的增减呈连续性量的变化,一般以阳性或阴性、全或无的方式表示LD50表不(
发生溶血反应时护士应首先【】
男性,32岁,无意中发现左胭窝部无痛性肿块1周,无其他不适。该患者首先应考虑的诊断为
在下列药物中,哪项不属于抗铜绿假单胞菌青霉素
治疗热秘首选的方剂是
见证取样工作中的取样人员一般是()。
根据《工程建设项目施工招标投标办法》(国家八部委局第30号令),当投标人投标文件中出现用数字表示的数额与用文字表示的数额不一致时,除招标文件另有约定外,以()为准,调整后的报价经投标人确认后产生约束力。
某家庭采用ADSL宽带接入方式连接Internet,ADSL调制解调器连接一个4口的路由器,路由器再连接4台计算机实现上网的共享,这种家庭网络的拓扑结构为
ALuckyBreakActorAntonioBanderasisusedtobreakingbones,anditalwaysseemstohappenwhenhe’s【C1】______sport.Inth
Theeffectofthebabyboomontheschoolshelpedtomakepossibleashiftinthinkingabouttheroleofpubliceducationinthe
最新回复
(
0
)