首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符事,所形成的新串放在w所指的数组中。 在此处,要求t1和t2所指字符串的长度相同。 例如,当s所指字符串中的内容为:”ab
给定程序MODll.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符事,所形成的新串放在w所指的数组中。 在此处,要求t1和t2所指字符串的长度相同。 例如,当s所指字符串中的内容为:”ab
admin
2013-04-02
18
问题
给定程序MODll.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符事,所形成的新串放在w所指的数组中。
在此处,要求t1和t2所指字符串的长度相同。
例如,当s所指字符串中的内容为:”abedabfabc”,t1所指子串中的内容为:”ab”,t2所指子串中的内容为:”99”时,结果,在w所指的数组中的内容应为:”abcdabf99c”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
void fun (char *s, char *t1, char *t2 , char *w)
{
char *p , *r, *a=s;
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[100];
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");
}
选项
答案
while(*w) if(*r==*p)
解析
(1)第一个标识符下while循环中的判断条件不指向字符串尾,就进入循环进行子串出现判断与替换操作,while循环中指向w字符串尾的指针,应该是“while(*w)”
(2)第二个标识下“IF(*r==*p)”是比较r指向的字符和p指向的字符是否相同,在C语言中没有“IF”关键字,应该用if语句,故第二个标识下应改成“if(*r==*p)”。
转载请注明原文地址:https://kaotiyun.com/show/PDJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下叙述中错误的是______。
以下叙述中错误的是______。
有以下程序 main() {int y=10; while(y-);printf("y=%d\n",y); } 程序执行后的输出结果是______。
有以下程序 #include <stdio.h> main() {char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4); c
有以下程序段 struct st {int x;int *y;}*pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b};
若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是______。
以下程序中,函数fun的功能是计算x2(上标)-2x+6,主函数中将调用fun函数计算:y1=(x+8)2(上标)-2(x+8)+6y2=sin2(上标)(x)-2sin(x)+6请填空。
若变量已删除正确定义,则以下语句的输出结果是______。 s=32; s^=32; printf("%d",s);
以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。main(){intx[10],a[9],i;for(i=0;i<10;i++)scanf("%d",&x[i]);for(【
设有说明structDATE{intyear;intmonth;intday;};请写出一条定义语句,该语句定义d为上述结构体类型变量,并同时为其成员year、month、day依次赋初值2006、10、1:【】。
随机试题
开标工作由()主持,邀请所有投标人参加。
某学校初中二年级五班的物理老师要求学生两人一组制作一份物理课件。小曾与小张自愿组合,他们制作完成的第一章后三节内容见文档“第3—5节.pptx”,前两节内容存放在文本文件“第l一2节.pptx”中。小张需要按下列要求完成课件的整合制作:在“物理课件.p
高血压病一般人群降压的目标为血压低于___________mmHg。
Learningdisabilitiesareverycommon.Theyaffectperhaps10.percentofallchildren.Fourtimesasmanyboysasgirlshavele
在综合布线系统中,根据通信线路和接续设备的分离,()属于设备间子系统。
公司的资本成本,是指组成公司资本结构的各种资本来源的成本的组合,也就是各种资本要素成本的加权平均数,其大小主要由()。
丽芬是一位普通的农村妇女。丈夫长年在外打工,很少回家,经常抽烟喝酒,每年拿不了多少钱回家。丽芬除了种地、养猪、养牛之外,还要照顾上学的女儿以及多病的婆婆,是家庭的经济支柱。婆婆和丈夫都希望丽芬再生一个男孩,可丽芬自己不想再生第二胎,也一直没有怀上
下列各句句意明确的一句是:
在VisualBasic环境下设计应用程序时,系统能自动检查出的错误是
Cloningshakesusalltoourverysouls.Forhumanstoconsiderthecloningofoneanotherforcesthemalltoquestionthevery
最新回复
(
0
)