首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数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
41
问题
下列给定程序中,函数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://kaotiyun.com/show/LVDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是______。#include<stdio.h>#defineFUDGE(y)2.84+y#definePR(a)printf("%d",(int)(a))
下列程序执行后输出的结果是______。intd=l;fun(intp){intd=5;d+=p++;printf("%d,",d);}
下列程序的输出结果是【】。main(){inta[]={2,4,6},*prt=&a[0],x=8,y,z;for(y=0;y<3;y++)z=(*(ptr+y<x)?*(ptr+y):
数据库技术的主要特点为数据的集成性、数据的高【】和低冗余性、数据独立性和数据统—管理与控制。
注释说明了程序的功能,它分为【】注释和功能性注释。
以下能正确定义一维数组的选项是______。
诊断和改正程序中错误的工作通常称为【】。
有以下程序: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][
软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【】的设计来实现。
以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是______。
随机试题
鸡血藤、当归皆可用治()(2010年第147题)
六淫致病的特点是
肛裂的好发部位为
骨折后患肢的萎缩,下列哪项描述是正确的
司比曲线是
蛛网膜下腔出血的最常见致病疾病是
婚前医学检查的主要疾病中指定传染病不包括
由责任护士和其辅助护士负责一定数量患者从入院到出院期间各种治疗、基础护理、专科护理、护理病历书写、病情观察、用药治疗及健康教育等。此种模式的护理方式属于
WhydidNupediafail?
Whydidmoviesdobetterthantheater?
最新回复
(
0
)