首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:“abcdabfabcdx”,
给定程序MODll.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:“abcdabfabcdx”,
admin
2015-06-08
69
问题
给定程序MODll.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;
若未找到,则函数值为NULL。
例如,当字符串中的内容为:“abcdabfabcdx”,t中的内容为:“ab”时,输出结果应是:abcdx。
当字符串中的内容为:“abcdabfabcdx”,t中的内容为:“abd”时,则程序输出未找到信息:not be found!。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
char *fun(char *s,char *t)
{
char *P,*r,*a;
/**********found***********/
a=Null;
while(*s)
{ P=s ; r=t;
while(*r)
/**********found***********/
if(r==P)
{ r++; p++;}
else break;
if(*r==‘\0’)a=s;
s++;
}
return a;
}
main()
{
char s[100],t[100],*p;
printf(“inPlease enter string
S:”); scanf(“%s”,s);
printf(“inPlease enter substring
t:”);scanf(“%s”,t);
P=fun(s,t);
if(P)printf(“inThe result is:
%s\n”,P);
else printf(“inNot found!\n”);
}
选项
答案
(1)a=NuLL; (2)if(*r==*p)
解析
函数功能是求得字符串中某子串最后一次出现的地址。
(1)第一个标识下面:语句“a=Null:”中的Null未定义。NULL代表空值,但程序中写成了Null。所以,改成“a=NULL:”。
(2)程序的主体是二重循环,其中外循环使指针s逐个指向字符串的字符,直到遇到串结束符退出循环,内循环检查指针p与r所指字符串是否匹配。因为这里p、r是指针,如果使用判断表达式“if(r==p)”,那么比较的是地址,而题目要求比较它们所指的字符。所以,改为:“if(*r=*p)”。
转载请注明原文地址:https://kaotiyun.com/show/2aJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个【】。
若有以下定义:intt[3][2];,能正确表示t数组元素地址的表达式是______。
有如下程序:#definen2#definemN+1#defineNUM2*m+1main(){inti;for(i=1;i<=NUM;i++)printf("%d\n",
在C语言中,函数中变量的隐含存储类别是______。
下列函数定义中,会出现编译错误的是______。
能正确表示逻辑关系""a≥10或a≤0""的C语言表达式是______。
注释说明了程序的功能,它分为【】注释和功能性注释。
以下程序的输出结果是_______。main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d",k);
请选出以下程序的输出结果_______。#include<stdio.h>sub(int*s,inty){staticintt=3,y=s[t];t-;}main(){inta[]={
下述关于数据库系统的叙述中正确的是_______。
随机试题
螺旋面如何展开?
ThereisnothingnewaboutTVandfashionmagazinesgivinggirlsunhealthyideasabouthowthintheyneedtobeinordertobec
A.壁细胞B.主细胞C.黏液细胞D.G细胞E.肥大细胞胃蛋白酶产生于
某公司当初以100万元购入一块土地,目前市价为80万元,如欲在这块土地上兴建厂房,则()。
甲签发一张票据给乙,乙将票据背书转让给丙,丙受丁胁迫将票据背书转让给丁,丁又将该票据赠与不知情的戊。根据票据法律制度的规定,下列说法中不正确的有()。
甲开了一家汽车维修公司,在维修汽车时,甲夸大汽车损毁程度,向保险公司多报汽车修理费用,骗取保险公司12万余元,甲的罪名应该()。
下列行政公文格式正文中的结尾部分,写法不妥当的是()。
虽然知识产权本质上是程度不一的知识垄断.但是由知识产权引起的知识垄断情形中的“垄断”含义与传统的反垄断法中“垄断”的含义有很大区别。由知识产权引起的“知识垄断”,主要是指知识产权法授予的排他权:如果该种排他权导致了相应产品或服务的市场垄断,那么“知识垄断”
下列选项中,不是算法基本特征的是()。
Lackofculture,orratheranexcessofthewrongsortofculture,isoftenconsideredtobesynonymouswithdisadvantage.Mostc
最新回复
(
0
)