首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数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
79
问题
下列给定程序中,函数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全国计算机二级
相关试题推荐
有以下程序段#includemain(){while(getchar()!=‘\n’);}以下叙述中正确的是
下列属于不合法的main函数命令行参数表示形式的是()。
有以下程序:#definef(x)(x*x)main(){inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%d\n",i1,i2);
在软件工程中,白盒测试法可用于测试程序的内部结构,此方法将程序看做是()。
请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。 【】(double,double); main( ) {doublex,y; scanf("%lf%lf",&x,&y); printf("%lf\n",ma
执行以下程序后sum的值是【】。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}
以下程序的输出结果是() main() {staticchara[10]={"Chinese"}; printf("%d",strlen(a)); }
已有定义如下:structnode{intdata;structnode*next;}*p;以下语句调用malloc函数,使指针p指向一个具有stmctnode类型的动态存储空间。
以下选项中正确的语句组是______。
程序中对fun函数有如下说明 void*fun(); 此说明的含义是:
随机试题
后轮胎爆裂时,驾驶人要如何处置?
市场研究报告的陈述与演示具有什么特点?
系膜毛细血管性肾小球肾炎的病理特点是
胃脘冷痛,牙龈红肿热痛,多见于下利清谷,小便清长,舌淡苔门,面赤口渴,多见于
在开标的程序和内容中,密封情况检查应由()进行。
对火灾报警系统中,控制类设备在消防控制室内的布置要求,正确的有()。
根据《刑法》的规定,假释应该具备()条件。
企业给员工发放的奖金属于()。
2016年,我国邮政行业业务总量完成7397.2亿元,同比增长45.7%。全年邮政行业业务收入(不包括邮政储蓄银行直接营业收入)完成5379.2亿元,同比增长33.2%。 快递业务实现快速增长,全年快递服务企业业务量完成312.8亿件,同比增长
字长为7位的无符号二进制整数能表示的十进制整数的数值范围是________。
最新回复
(
0
)