首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数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
46
问题
下列给定程序中,函数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全国计算机二级
相关试题推荐
设有以下语句,其中不是对a数组元素的正确引用的是:______(其中0≤i≤0)inta[10]={O,12,3,4,5,6,7,8,9},*p=a;
数据模型是用来描述数据库的结构和语义的,数据模型有概念数据模型和结构数据模型两类,E-R模型是【】
下列属于不合法的main函数命令行参数表示形式的是()。
—个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈则元素出栈的顺序______。
有以下程序main(){inta=3,b=4,c=5,d=2;if(a>b)if(b>c)printf("%d",d+++1);elseprintf("%d",+
设有定义:int a; float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0<回车>, a和b的值分别是______。
在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的()。
已有定义如下:structnode{intdata;structnode*next;}*p;以下语句调用malloc函数,使指针p指向一个具有stmctnode类型的动态存储空间。
以下能正确定义二维数组的是______。
当执行以下语句后,函数strlen(str)返回的值是() staticcharstr[10]={”Change"};
随机试题
假设I0=18000亿元,C=400+0.8Yd,试计算其乘数为多少?均衡时的可支配收入和消费为多少?
3岁男性患者,因肺炎并发休克,24小时尿量350ml,血肌酐325μmol/L,临床上考虑出现急性肾小管坏死。则其尿液诊断指标检查最可能是
描述流行病学研究与病因的关系是
阿司匹林在贮藏过程中会变色的原因是
电阻器在电动机中的作用有( )。
稳态
A、 B、 C、 D、 D黑点个数每次增加2,圆圈个数每次减少2。
糖生物电池作为一种燃料电池,可以将糖的化学能量转化为电流。一般来说,糖生物电池可以实现100%的能量转换,其能量存储密度大约是596安培.时/公斤,相比之下,锂离子电池的能量存储密度为42安培.时/公斤。这意味着糖生物电池比同等重量的现有锂离子电池持续使用
下列说法()是不正确的。
Thereisnodenyingthatstudentsshouldlearnsomethingabouthowcomputerswork,justasweexpectthematleasttounderstand
最新回复
(
0
)