首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定的程序中,函数fun()的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为 abcdabfab,t1所指字符串中
下列给定的程序中,函数fun()的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为 abcdabfab,t1所指字符串中
admin
2010-05-05
43
问题
下列给定的程序中,函数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全国计算机二级
相关试题推荐
根据《中华人民共和国中国人民银行法》的规定,我国货币政策的最终目标是(),并以此促进经济增长。
甲挑唆乙(甲、乙均已成年)去打正在熟睡的狗,狗被激怒后追乙,恰巧丙经过,乙便躲在丙的身后,狗将丙咬伤。根据《侵权责任法》的有关规定,下列表述错误的是()。
区分国家性质的根据是()。
根据我国《宪法》规定,决定战争与和平问题的职权由()。
下列不属于我国民族政策内容的是()。
根据国务院办公厅部分节假日安排的通知,某年8月份有22个工作日,那么当年的8月1日可能是:
小明买了7本书共花去100元,后发现有一本书质量有问题,故补了若干元换了另外一本书。回来后发现,退换后7本书的价格成等差数列且均为整数元,而最贵的书价格为26元,问最便宜的书多少钱?()
有一类分数,每个分子与分母的和是100,如果分子减K.分母加K,得新的分数约分后等于,其中K是正整数,则该类分数中分数值最小的是()。
我国《行政处罚法》规定,行政机关在调查或进行检查时,执法人员不得少于两人,并应当向当事人或有关人员出示证件。这体现了行政处罚程序中的()。
随机试题
二尖瓣狭窄时最主要的临床表现是
简述公民和人民的区别。
工程项目及其生产的( )特点决定了工程项目对地基的特殊要求,采用的地基处理方案对工程质量将产生直接影响。
企业在资产负债表日提供劳务交易结果不能可靠估计的,下列的账务处理不正确的是()。
威海卫战役
人类性格与行为形成的原因及影响——1990年英译汉及详解Peoplehavewonderedforalongtimehowtheirpersonalitiesandbehaviorsareformed.Itisnote
关于死锁,下列说法正确的是(47)。
Thefirstthingtodoafterreceivingacreditcardisto______.
TheFootballFieldLengthKnowledgeaboutthefootballfieldlengthdoesnotseemlikesomethingfansandplayershaveto
A、Newlawsareyettobemadetoreducepollutantrelease.B、Pollutionhasattractedlittleattentionfromthepublic.C、Thequa
最新回复
(
0
)