首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数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
69
问题
下列给定程序中,函数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全国计算机二级
相关试题推荐
mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。intmystrlen(char*str){inti;for(i=0;【】!=’\0’;i++);return(i);}
有以下程序:#include<stdio.h>main(){charc[6];inti=0;for(j<6;c[i]=getchar(),i++);
下列程序的输出结果是【】。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(){inti=0,s=0;do{if(i%2){i++;continue;}i++;
函数fun的功能是计算xn:doublefun(doublex,intn){inti;doubley=1;for(i;=1;i<=n;i++)y=y*x;returny;}主函数中已
有以下程序:voidfun(int*a,inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;i++
x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是______。
有以下程序段chareh;intk;ch=’a’;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行
有以下函数:fun(char*a,char*b){while((*a!=’\0’)&&(*b!=’\0’)&&(*a==*b)){a++;b++;}return(
软件开发的结构化生命周期方法将软件生命周期划分成
随机试题
腺垂体合成和分泌的促甲状腺激素(TSH)
在城镇道路的填土工程、城市桥梁的桥头接坡工程中常用到()挡土墙。
全面结算会员期货公司调整非结算会员结算准备金最低金额的,应当在()向期货交易所和期货保证金安全存管监控机构报告。[2011年11月真题]
某企业上年销售收入为4000万元,总成本为3000万元,其中固定成本为600万元。假设今年该企业变动成本率维持在上年的水平,现有两种信用政策可供选用:甲方案的信用政策为(2/10,1/20,N/90)。预计销售收入为5400万元,将有30%的货款于
一般资料:求助者,男性,29岁,未婚,本科毕业,工程师。案例介绍:求助者大学毕业后进入一家国企任职,工作稳定。近期企业招聘了一些硕士研究生,求助者为自己学历低感到有些自卑。2个多月前,在某技术问题上与新同事产生分歧,领导最终选择了同事的设计方案,
程序教学是根据()原理设计出来的。
某水产公司1996年产值为2000万元,2003年产值为1996年的300%,则年平均增长速度及年平均增长量为()。
下列关于计算机病毒的叙述中,正确的是
WhenKatewaseighteenyearsofage,hermothergaveherabeautifulring.ItwasabirthdaypresentandKatewasverypleased.
Indiansalwaysshake(摇)theirheadstheytalktoothers.【C1】______doesnothavethesamemeaning【C2】______"no".Ifsomeonewants
最新回复
(
0
)