首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:将S所指字符串中最后一次出现的与tl所指字符串相同的子串替换成t2所指字符串,所形成的新串放在W所指的数组中。要求t1和t2所指字符串的长度相同。 例如,当s所指字符串中的内容为“abcdab—fabc”,t1所
下列给定程序中,函数fun的功能是:将S所指字符串中最后一次出现的与tl所指字符串相同的子串替换成t2所指字符串,所形成的新串放在W所指的数组中。要求t1和t2所指字符串的长度相同。 例如,当s所指字符串中的内容为“abcdab—fabc”,t1所
admin
2018-03-28
51
问题
下列给定程序中,函数fun的功能是:将S所指字符串中最后一次出现的与tl所指字符串相同的子串替换成t2所指字符串,所形成的新串放在W所指的数组中。要求t1和t2所指字符串的长度相同。
例如,当s所指字符串中的内容为“abcdab—fabc”,t1所指串中的内容为“ab”,t2所指子串中的内容为“99”时,结果在w所指的数组中的内容应为“abcdabt99c”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
void fun(char*s,char*t1,
char*t2,char*w)
{
char*p,*r,*a;
strcpy(w,s);
/*********found*********/
while(w)
{
p=w;
r=t1;
while(*r)
/*********found*********/
IF(*r==*p)
{
r++;
p++;
}
else
{
break;
}
if(*r==’\0’)
a=w;
w++;
}
r=t2;
while(*r)
{
*a=* r;
a++;
r++;
}
}
main()
{
char s[100],t1[100],t2
[100],w[i00];
printf("\nPlease enter
string S:");
scanf("%s”,s);
printf("\nPlease enter
substring t1:");
scanf("%s",t1);
printf("\nPlease enter
substring t2:");
Scanf("%s",t2);
if(strlen(t1)==strlen(t2))
{
fun(S,t1,t2,W);
printf("\nThe result
is:%s\n",w);
}
else
{
printf("\nError:
strlen(t1)!=strlen(t2)\n");
}
}
选项
答案
(1)while(*w) (2)1f(*r==*p)
解析
(1)此处要判断的是值的真假,而不是地址,所以改为while(*w)。
(2)c语言中关键字区分大小写,只需运行程序,就可以根据错误提示找到。
转载请注明原文地址:https://kaotiyun.com/show/6xxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下定义语句doublea,b;intw;longc;若各变量已正确赋值,则下列选项中正确的表达式是
下面语句中不能定义一个数组,元素值依次分别为1,1,1,0,0的是______。
下述程序的输出结果是【】。#include<stdio.h>intfun(intx){intp;if(x==0||x==1)return3;elsep=x-f
有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?C:k;执行该程序段后,k的值是()。
以下程序运行后的输出结果是【】。#include<stdio.h>main(){inta,b,c;a=25;b=025;e=0x25;prinff("%d%d%d\n",a,h,c);
在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中______的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
以下程序的结果是______。inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf("%d
设有如下宏定义#defineMYSWAP(z,x,y){z=x;x=y;y=z;}以下程序段通过宏调用实现变量a,b内容交换,请填空。floata=5,b=16,c;MYSWAP(【】a,b);
以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-
若要求从键盘读入含有空格字符的字符串,应使用函数
随机试题
患者面色苍白,四肢厥冷,呼吸微弱,额汗淋漓如油。此汗称为
图示电路中,uS=10V,i=1mA,则()。
在资金时间价值计算时,i和n给定,下列等式中正确的有()。
关于以下两种说法:①资产组合的收益是资产组合中单个证券收益的加权平均值②资产组合的风险总是等同于所有单个证券风险之和下列选项正确的是( )。
供应商考评体系中的供应指标包括()等指标。
小学低年级学生相对于高年级学生更容易被一些外界刺激吸引,例如教室外的说话声。这表明()。
1,2,5,29,()
一位著名企业家从百折不挠的拼搏经历中总结出了“冰淇淋哲学”,即卖冰淇淋必须从冬天开始,因为冬天顾客少,会逼迫你降低成本,改善服务。如果能在冬天生存,就再也不会害怕夏天的竞争。根据本段文字,“冰淇淋哲学”主要强调了:
一项技术出现或引进之后,自然会产生技术客体即机器等实物和技术主体即操作的人。但仅有主客体还不能构成现实的技术活动。客体和主体只有在人类的物质生产劳动中构成一定的“社会结合”,技术活动才能得以正常运行,才能成为改造自然的现实力量。主体与客体之间的“社会结合”
若x1、x2是方程x2一3x+1=0的两个根,则|x1一x2|=()。
最新回复
(
0
)