首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定的程序中,函数fun()的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为 abcdabfab,t1所指字符串中
下列给定的程序中,函数fun()的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为 abcdabfab,t1所指字符串中
admin
2010-05-05
35
问题
下列给定的程序中,函数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://jikaoti.com/ti/eKkiFFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
区分国家性质的根据是()。
根据我国《宪法》规定,决定战争与和平问题的职权由()。
我国境内的几处晚期猿人按时间顺序由远及近排列正确的是()。
宪法作为国家根本大法要求其必须具有更高的稳定性.因此宪法的修改程序相对于其他法律也是更为严格的。我国宪法的修改权由()行使。
下列不属于我国民族政策内容的是()。
某密码由4位不同数字组成,已知各位密码之和为偶数,则密码有多少种?
根据国务院办公厅部分节假日安排的通知,某年8月份有22个工作日,那么当年的8月1日可能是:
如下图所示,正方形ABCD的边长是14厘米,其中,BE=CE=7厘米。如果点P以每秒2厘米的速度沿着边线CD从点C出发到点D,那么三角形AEP的面积将以每秒()平方厘米的速度增加。
小明买了7本书共花去100元,后发现有一本书质量有问题,故补了若干元换了另外一本书。回来后发现,退换后7本书的价格成等差数列且均为整数元,而最贵的书价格为26元,问最便宜的书多少钱?()
随机试题
景公使晏子為東阿宰,三年,毁聞於國。景公不說,召而免之。晏子謝曰:“婴知婴之過矣。請復治阿三年,而譽必聞於國。”景公不忍,復使治阿三年,而譽聞于國。景公說,召而賞之。景公問其故,對曰:“昔者婴之治阿也,築蹊徑,急門閭之政,而淫民惡之;舉儉力孝弟,罰偷窳,而
某企业在未征得《虎》图著作权人许可的情况下,擅自将该图作为商标申请注册使用在白酒上,并获得核准注册。该企业的行为属于()
ATIMEcolumnistbearswitnesstoanoperationtohelptripletswithcerebralpalsywalklikeotherboys.CindyHickmannearlyb
风湿性心瓣膜病引起的心律失常最多见的是
患者男,69岁,胸闷气逼多年,近来咳嗽,无胸痛、无痰中带血,X线检查如图,最可能的诊断是
以下哪项是常发生病理性骨折的疾病
《大气污染防治法》规定,施工单位应当在施212212地公示施工现场大气污染防治的信息,这些信息不包括()。
简述学生认知差异研究对教学的主要启示。
工匠精神,是一种工匠对产品________的理念,其内涵在于精益求精、注重细节、严谨专注。改革开放以来,中国制造业高速增长、雄冠全球,但高能耗、低技术、低创新、低附加值让“中国制造”难以真正________。填入画横线部分最恰当的一项是:
2011年为辛亥革命100周年,下面关于辛亥革命的表述,错误的是________:
最新回复
(
0
)