首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数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
73
问题
下列给定程序中,函数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全国计算机二级
相关试题推荐
以下数组定义中错误的是()。
下列程序的输出结果是______。#include<stdio.h>main(){intx=1,y=1,a=1,b=1;switch(x){case1:
有以下程序:#include<stdlib.h>structNODE{intnurn;structNODE*next;};main(){stru
有以下程序intf(intn){if(n==l)return1;elsereturnf(n-1)+1;}main(){inti,j=0;f
下列选项中,不是一个算法的基本特征的是()。
执行以下程序后sum的值是【】。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}
以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。#include main(){ FILE *fout; char ch;fout=fopen(’abc.txt’,’w’);ch=fg
下面程序的运行结果是()。#include<stdio.h>main(){staticchara[]="Languagef",b[]="programe";char*p1,*p2;intk;
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为()。
有以下程序#includemain(){charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是
随机试题
中枢免疫器官由胸腺、骨髓和淋巴结组成,是免疫细胞发生、增殖、分化、成熟的场所。
关于基因表达描述不正确的是
疱疹性咽峡炎的病原体为
粪便中发现肌肉纤维增多,且纵横纹易见,偶见细胞核提示可能为
案例2010年6月25日8点班,8时40分,综掘四队下料员尹某到胶轮车队联系给北七送料。9时10分,工长李某安排在井上待命的张某驾驶704号CW1.8一J型胶轮车与掘四队下料员尹某一起到机电厂房装料。装完料后,因用料紧急,尹某要求司机张某随即下井送料
人身保险合同以()为保险标的。
下列哪些软件可制作多媒体应用程序?()
《百喻经》中有一则寓言:有一个愚人到别人家去做客,他嫌菜没有味道,主人就给他加了点盐。菜里加盐以后,味道好极了。愚人就想:“菜之所以鲜美,是因为有了盐。加一点点就如此鲜美,如果加更多的盐,岂不更加好吃?”回家之后,他把一把盐放进嘴里,结果又苦又成。这则寓言
比较定积分的大小.
有关工程质量的问题,主要______张经理负责。
最新回复
(
0
)