首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定的程序中,函数fun()的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为 abcdabfab,t1所指字符串中
下列给定的程序中,函数fun()的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为 abcdabfab,t1所指字符串中
admin
2010-05-05
63
问题
下列给定的程序中,函数fun()的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为 abcdabfab,t1所指字符串中的内容为ab,t2所指字符串中的内容为99时,结果在w所指的数组中的内容应为99cd99f99。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
#include <string.h>
/*************found**************/
int fun (char *s, char *t1, char *t2, char *w)
{
int i; char *p,*r,*a;
strcpy(w,s);
while (*w)
{p=w; r=t1;
/*************found**************/
while (r)
if (*r= =*p) {r++;p++;}
else break;
if (*r= =’\0’)
{a=w; r=t2;
/*************found**************/
while (*r){*a=*r;a++;r++}
w+=strlen(t2);
}
else w++;
}
}
main()
{char s[100],t1[100],t2[100],w[100];
clrscr();
printf("\nPlease enter string S: ");
scanf("%s",s);
printf("\nPleaseentersubstring 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("Error : strlen(t2)\n");
}
选项
答案
(1)错误:int fun(char *s,char *t1,char *t2, char *w) 正确:void fun(char *s,char *t1,char *t2, char *w) (2) 错误:while(r) 正确:while(*r) (3) 错误:r++ 正确:r++;
解析
在int fun(char *s,char *t1,char *t2, char *w)中,用int型定义指针数组。ANSI标准要求动态分配系统返回void指针。 void指针具有一般性,它们可以指向任何类型的数据。但目前绝大多数C编译所提供的这类函数都返回char指针。无论以上两种情况的哪一种,都需要强制类型转换的方法把char指针转换成所需的类型。该程序段应该是void fun(char *s,char *t1, char *t2, char *w),另外,while(r)和r++都是简单的逻辑和语法错误,只要加强了C语言的基础,这样的错误明显是“送分”的。
转载请注明原文地址:https://kaotiyun.com/show/zXID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
金融市场最基本的功能是()。
近些年.我国取得了一批重大科技创新成果,实现部分领域由“跟随”到“领跑”的跨越。以下说法不正确的是()。
下列不属于我国民族政策内容的是()。
张某11周岁,小学五年级学生.经常在其学校门口的一家小卖部买零食和一些学习用品,部分赊账,年终时共欠小卖部340元。小卖部老板拿着账单要求张某父亲付款,遭到张某父亲拒绝。下列说法正确的是()。
若一个三角形的所有边长都是整数,其周长是奇数,且已知其中的两边长分别为8和2012.则满足条件的三角形总个数是?
某密码由4位不同数字组成,已知各位密码之和为偶数,则密码有多少种?
根据国务院办公厅部分节假日安排的通知,某年8月份有22个工作日,那么当年的8月1日可能是:
如图所示,甲、乙两人从长为400米的圆形跑道的A点背向出发跑步。跑道右半部分(粗线部分)道路比较泥泞,两人的速度都将减慢,在正常的跑道上甲、乙速度均为每秒8米,在泥泞道路上两人的速度均为每秒4米。两人一直跑下去,他们第99次迎面相遇的地方距A点还有多少米?
如下图所示,正方形ABCD的边长是14厘米,其中,BE=CE=7厘米。如果点P以每秒2厘米的速度沿着边线CD从点C出发到点D,那么三角形AEP的面积将以每秒()平方厘米的速度增加。
有一类分数,每个分子与分母的和是100,如果分子减K.分母加K,得新的分数约分后等于,其中K是正整数,则该类分数中分数值最小的是()。
随机试题
A.水和碳酸氢盐含量少、胰酶含量多B.水和胰酶含量多、碳酸氢盐含量少C.水和碳酸氢盐含量多、胰酶含量少D.水和胰酶含量少、碳酸氢盐含量多缩胆囊素引起胰液分泌的特点为
A.持续性骨牵引B.手法整复外固定C.先使用血管扩张剂,如无效可采用手术治疗D.手术切开复位内固定并探查血管E.持续骨牵引及应用血管扩张剂关于肱骨髁上骨折,下列各种情况的处理方法中正确的是肘部严重肿胀,桡动脉搏动消失,患肢剧痛,手部苍白,麻木,
丝虫病乳糜尿的特点包括
简述术后切口裂开的常见原因和预防措施。
某县食盐供应出现暂时脱销,该县某乡镇企业供销公司乘机大量购进食盐企图以此盈利。县盐业支公司进行检查时,发现供销公司超越经营范围,非法从事食盐批发业务,即予以处罚,并对其余食盐进行限价收购,供销公司对此不服。下列有关主体的说法中正确的有哪些?( )
下列关于标的物毁损、灭失风险承担的表述中,符合买卖合同法律规定的是()。
在编制工资表时,要求()。
近几十年来,人们发明了各种各样的药物来毒杀老鼠。可是人们发现,在一些老鼠经常出人的地方放置老鼠药的方法越来越没有效果,无论人们将药物添加到对于老鼠来说多么美味的食物之中,老鼠都会对这些送来的“美味”置之不理。根据这一现象,得到的解释可能是:老鼠的嗅觉异常灵
()是应用文主旨经常使用的表现方法。
已知求An.
最新回复
(
0
)