首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数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
47
问题
下列给定程序中,函数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全国计算机二级
相关试题推荐
已知下面的程序段,正确的判断是______。#defineA3#defineB(A)(A+1)*a)inta=3;……X=3*(A+B(7));
有以下程序:#defineN20fun(inta[],intn,intm){inti,j;for(i=m;i>=n;i--)a[i+1]=a[i];}main(){
有以下程序:main(){intnum[4][4]={{1,2,3,4),{5,6,7,8),{9,10,11,12),{13,14,15,16}},i,j;for(i=0;i
诊断和改正程序中错误的工作通常称为【】。
有以下定义:#include<stdio.h>chara[l0],*b=a;不能给a数组输入字符串的语句是______。
有以下程序main()}inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d/n",s);}程序的输出结果是
以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。main()/*Beginning*/{intr;floats;scanf("%d",&r);s=*π*r*r*r;printf("
下列程序的功能是将字符串s中所有的字符c删除。请填空。#include<stdio.h>main(){chars[80];inti,j;gets(s);for(i=j=0;s[i]!=’\0’;i+
软件开发的结构化生命周期方法将软件生命周期划分成
以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。#include<stdio.h>voidf(intx[],intn){intp0,p1,i
随机试题
火力发电厂中测量水位的意义是什么?
企业确定固定资产使用寿命,应当考虑的因素有()
患者,男,63岁。腹痛剧烈,右下腹压痛、反跳痛,可扪及局限包块,伴壮热,恶心呕吐,腹泻,舌质红,苔黄腻,脉滑数。该患者可辨证为
甲有珍贵巨型玉石一块,市价5万元,寄存于乙处。乙擅自.将该玉石以3万元售予了知情人丙,丙将该玉石雕刻成“巨船回乡”艺术品,参加全国雕刻展并获一等奖,获奖后丙将艺术品经拍卖程序卖给善意第三人丁,获款30万元。根据以上案情,请回答以下问题:(1)甲可对乙主
在计算函数式V=f(E,P,M,…)中,对符号的表述正确的是()。
如果出现下列()情况,注册会计师无需将统计抽样用于控制测试,便可直接作出拒绝信赖内部控制的决定。
庄子一生穷困潦倒,却能超越贫困乐在其中,庄子________,尤其善用寓言和小故事来表达自己的观点,同时嘲讽那些追名逐利的小人。庄子的文章充满了讽刺和挖苦。他的所作所为,经常令人________,又令人拍案叫绝。填入划横线部分最恰当的一项是:
Wheredoesthisconversationmostprobablytakeplace?
Whereisthisconversationprobablytakingplace?
PASSAGEFOURWhydidthegirlplaybasketballoverandoveragain?Whatisthemainaudienceofthespeech?
最新回复
(
0
)