首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数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
54
问题
下列给定程序中,函数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://jikaoti.com/ti/5aa0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果是()。#inClude<stdio.h>main(){staticchara[]="Languagef",b[]="programe";Char*p1,*p2;intk;p1=a
下列程序的输出结果是()。#include<stdio.h>main(){inta[2][3]={{1,2,3},{4,5,6}),(*p)[3],i;p=a;for(i=0;i<3;
以下正确的函数声明语句是______。
下列程序的输出结果是()。main(){inta=4,b=5,c;if(a<b){c=a*b;printf("%d,%d,%d\n",b,a,c);}else{c=b/a;printf
以下程序的输出结果是()。#includeintm=13;intfun(intx,inty){intm=2;return(x*y-m);}main(){
有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?C:k;执行该程序段后,k的值是()。
有以下程序:#include<stdio.h>prt(int*m,intn)inti;for(i=0;i<n;i++)m[i]++;main()}inta[]={1,2,3,4,5},i;p
对线性表进行二分查找,要求线性表为______。
在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的()。
以下叙述中正确的是()。
随机试题
新时代中国特色社会主义思想,明确坚持和发展中国特色社会主义,总任务是实现社会主义现代化和中华民族伟大复兴,在全面建成小康社会的基础上,分()在本世纪中叶建成富强民主文明和谐美丽的社会主义现代化强国。
阅读下列短文,回答问题重新点燃启蒙的火炬在告别20世纪而进入21世纪之际,中国思想界对启蒙有截然相反的看法。有人历数启蒙的罪状,劝告知识分子放弃启蒙立场;有人则回顾启蒙被压倒的悲剧,希望
A.淋巴道转移B.直接蔓延C.种植性转移D.椎旁静脉系统的转移胃癌的盆腔转移是
患儿,男,20天,口腔黏膜有白色乳凝状物附着,呈小片状。经检查诊断为“鹅口疮”,为患儿:青洁口腔宜使用
A.医生对自杀的病人予以制止B.医生的行为以保护病人利益、促进病人健康、增进其幸福为目的C.医生要保护病人的隐私D.医生的行为要遵循医德规范的要求E.医生在紧急灾难(如传染病流行)面前要服从卫生部门调遣能体现医学道德和卫生法律义务的是
只要公司拥有足够的现金,就可以发放现金股利。()
配送中心的主要作业环节包括()等。
具有高成就动机的人()。
在考生文件夹下完成下列操作:(1)请修改并执行程序four.prg。程序four.prg的功能是:计算每个系的"平均工资"和"最高工资"并存入表three中,要求表中包含"系名"、"平均工资"和"最高工资"3个字段,结果先按"最高工资"降序排列,若"最高
下面描述中不属于数据库系统特点的是
最新回复
(
0
)