首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定的程序中,函数fun()的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为 abcdabfab,t1所指字符串中
下列给定的程序中,函数fun()的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为 abcdabfab,t1所指字符串中
admin
2010-05-05
67
问题
下列给定的程序中,函数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全国计算机二级
相关试题推荐
党的十八大提出的“四个监督”的内容是()。
关于人文奥运,下列说法错误的是()。
下列关于我国科技领域取得的一些新成就,表述错误的是()。
下列关于云计算的说法错误的是()。
根据《行政处罚法》的规定,违法事实确凿且有法定依据,对公民处以()以下罚款的行政处罚的,可以当场作出行政处罚决定。
金融市场最基本的功能是()。
法院审理一起受贿案时,被告人甲称因侦查人员刑讯不得已承认犯罪事实,并讲述受到刑讯的具体时间。检察机关为证明侦查讯问程序合法,当庭播放了有关讯问的录音录像,并提交了书面说明。关于该录音录像的证据种类,下列哪一选项是正确的?()
我国境内的几处晚期猿人按时间顺序由远及近排列正确的是()。
某书店出售一种挂历,每售出1本可得18元利润。售出一部分后每本减价10元出售,全部售完。已知减价出售这种挂历本数是原价出售挂历的三分之二。书店售完这种挂历共获得利润2870元,书店一共出售这种挂历多少本?
某密码由4位不同数字组成,已知各位密码之和为偶数,则密码有多少种?
随机试题
第一次工业革命后,东方亚洲国家与西方欧美列强关系的基本特征怎样?为何呈现出这一特征?后来亚洲各围人民为改变这种关系进行,哪些斗争?结局如何?从中你得出了什么认识?
WhowontheWorldCup1994footballgame?WhathappenedattheUnitedNations?Howdidthecriticslikethenewplay?【C1】______a
A.直方图B.直条图C.线图D.圆形图E.散点图
混合支持式义齿受力后,牙台力由()
A.冷溶法B.热溶法C.冷溶法与热溶法D.混合法E.混合法与冷溶法单糖浆的制备可采用()。
计算加权平均资金成本可采用()计算。
温家宝总理在2009年政府工作报告中指出,做好今年政府工作,必须把握好以下原则()。
孔子所提倡的“爱”是无差别的“爱”,而墨子所提倡的“爱”是有差别的“爱”。
内存单元按字节编址,地址0000A000H~0000BFFFH共有()个存储单元。
Theoldmantoldusthatmostofthebuildingsthere(damage)______intheearthquake.
最新回复
(
0
)