首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数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
73
问题
下列给定程序中,函数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))
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
有以下程序:main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;
以下程序通过函数SunFun求。这里f(x)=x2+1,由F函数实现。请填空。main(){printf("Thesum=%d\n",SunFun(10));}SunFun(intn){int
有以下程序:voidfun(int*a,inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;i++
有以下程序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("
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
有以下函数:fun(char*a,char*b){while((*a!=’\0’)&&(*b!=’\0’)&&(*a==*b)){a++;b++;}return(
随机试题
下列关于生活常识的说法,不正确的是:
用共享设备去模拟独占设备,从而达到共享、快速的效果的设备称为_______。
博美犬,5岁,雌性,多年来一直饲喂自制犬食,以肉为主,近日虽然食欲正常,但饮欲增加,排尿频繁,每次尿量减少,偶见血尿。腹部超声探查可见膀胱内有绿豆大的强回声光斑及其远场声影。该犬所患的疾病是
肾上腺素苯甲酸钠
以下哪些属于物业管理服务的基本内容。()
起爆药的特点是()。
上市公司的债务期限结构的影响因素有()。Ⅰ.实际税率Ⅱ.资产期限Ⅲ.非债务税盾Ⅳ.公司规模
经营风险主要是指因不可预见和控制的因素导致市场波动,造成证券公司管理的客户资产亏损。这是证券公司资产管理业务运作中面临的主要风险。( )
A公司持有在境外注册的B公司80%股权,能够对B公司的财务和经营政策实施控制。A公司以人民币为记账本位币,B公司以港币为记账本位币,发生外币交易时A公司和B公司均采用交易日的即期汇率进行折算。(1)2011年10月20日,A公司以每股4美元的价格购入C公
根据弗洛伊德的人格发展理论,自我这一人格成分出现于
最新回复
(
0
)