首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找
admin
2018-10-21
18
问题
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。
例如,当字符串中的内容为“abedabbcdx”,t中内容为“ab”时,输出结果应是“abcdx”。
当字符串中的内容为“abedabfabcdx”,t中内容为“abd”时,则程序输出未找到信息“not be found!”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
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;
}
void main()
{
char s[100],t[100],*p;
system("CLS");
printf("\nPlease enter string S:");
scanf("%s",s);
printf("\nPlease enter substring t");
scanf("%s",t);
P=fun(s,t);
if(p)
printf("\nThe result is:%s\n",p);
else
printf("\nNot found!\n");
}
选项
答案
(1)a=NULL; (2)if(*r==*p)
解析
(1)a=Null;是个明显的语法错误,指针指向空值的关键字应为NULL。
(2)r和p均为指针变量,分别指向两个字符串中的字符变量,循环条件是当r和p所指向的字符相同时,进行指针后移操作,故此处应为if(*r==*p)。
转载请注明原文地址:https://kaotiyun.com/show/y0xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果是【】。main(){inti;for(i=1;i<=5;i++)f(i);}f(j){intj;staticinta=1000;auto
要求以下程序的功能是计算main(){intn;floats;s=1.0;for(n=10;n>1;n--)s=s+1/n;pfintf("%6.4f\n",s);}程序
若已定义c为字符型变量,则下列语句中正确的是()。
以下程序输出的结果是#include<stdio.h>main(){inti=010,j=10;printf("%d,%d\n",++i,j--);}
设有如下程序#include<stdio.h>main(){int**k,*j,i=100;j=&i;k=&j;printf("%d\n"”,**k);}上述程序的输
有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intX;scanf("%d",&x);x=fun(x);printf("%
若有如下程序;main(){intm=-i;printf("%d,%u,%o,%X",m,m,m,m);}则程序运行后的输出结果是()。
以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main()(inti,j;for(i=0;i<i0;i++){j=i*10+6;if(())continue;
如下程序的输出结果是______。main(){staticinta[4]={1,2,3,4};int**k,*j;j=a+1;k=&j;printf("%d\n",*(*k+2));
随机试题
检验真理的标准只能是()
患者,男,45岁。慢性心衰患者,服用洋地黄治疗,近一周因肺部感染出现高热等,给予抗生素治疗。近两日患者心慌、气短加重,心率减慢,心电图示基底窄而高尖的T波,血清钾6.9mmoL/L,考虑为高钾血症给以对症治疗。在下列选项中,不宜使用的治疗措施是
(2005)我国住宅建筑的平面扩大模数网采用()。
以发行的地域为标准将国债分为()。
承包人应在接到开工通知后()天内,向监理人提交承包人在施工场地的管理机构以及人员安排的报告,其内容应包括管理机构的设置、各主要岗位的技术和管理人员名单及其资格,以及各工种技术工人的安排状况。
干粉灭火系统减压阀安装要求,减压阀的流向指示箭头与介质流动方向(),压力显示装置安装在便于人员观察的位置。
信用标准是信用申请者获得企业商业信用所具备的最低条件,通常以预期的应收账款周转率作为判别标准。()
限制、无行为能力人所立的遗嘱无效。()
【2014江西】简述如何培养学生良好的记忆力。
筷子古名曰“箸”。《史记.十二诸侯年表》中有“纣为象箸,而箕子唏”之语。由此可见,筷子的历史似可追溯到公元前11世纪的商纣时期,据今已有3000余年的历史。关于箸之易名为筷,亦有成就。明陆容不得于其所撰《菽园杂记》卷一中有云:“民间俗讳,各处有之,而吴中为
最新回复
(
0
)