首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:"abcdabfabedx",
给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:"abcdabfabedx",
admin
2015-12-22
40
问题
给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;
若未找到,则函数值为NULL。
例如,当字符串中的内容为:"abcdabfabedx",t中的内容为:"ab"时,输出结果应是:abcdx。
当字符串中的内容为:"abcdabfabcdx",t中的内容为:"abd"时,则程序输出未找到信息:notbe found!。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
char *fun(char *s,char *t)
{
ohat *P r *r *;
/**********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("\nPlease enter string
s:");scarlf("%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未定义。NULL代表空值,但程序中写成了Null。所以,改成“a=NULL;”
(2)程序的主体是二重循环,其中外循环使指针s逐个指向字符串的字符,直到遇到串结束符退出循环,内循环检查指针p与r所指字符串是否匹配。因为这里p、r是指针,如果使用判断表达式“if(r===p)”,那么比较的是地址,而题目要求比较它们所指的字符。所以,改为:“if(*r==p)”。
转载请注明原文地址:https://www.kaotiyun.com/show/nWDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空。#include#includemain(){chara[]="clanguage",t;inti,j,k;k=strlen(a);f
下列程序的输出结果是#include"stdio.h"main(){inti,a=0,b=0;for(i=1;i
已有定义:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
下列选项中,值为1的表达式是()。
下列循环体的执行次数是()。#include<stdio.h>main(){inti,j;for(i=0,j=1;i<j+1;i+=1,j--)printf("%d\n",j);}
有下列二叉树,对此二叉树前序遍历的结果为()。
下列选项中合法的赋值语句是()。
有如下程序段:main(intargc,char*argv[]){intn,i=0;while(argv[1][i]!=’\0’){n=fun();i++;}printf
下列特征中不是面向对象方法的主要特征的是()。
随机试题
甲与乙订立了一份卖牛合同,合同约定甲向乙交付5头牛,分别为牛1、牛2、牛3、牛4、牛5,总价款为1万元;乙向甲交付定金3000元,余下的款项由乙在半年内付清。双方还约定,在乙向甲付清牛款之前,甲保留该5头牛的所有权。甲向乙交付了该5头牛。根据合同法及相关
海洋工程测量中,确定扫海航线间隔的因素主要有()。
城镇土地使用税的纳税对象包括()。
关于我国金融债券,下列说法正确的有()。I.我国金融债券的发行始于北洋政府时期Ⅱ.新中国成立之后的金融债券发行始于1982年,国家开发银行于这一年率先在日本的东京证券市场发行了外国金融债券Ⅲ.1985年,中国工商
①雾鬓云鬟,使我想起了古时候的美人②我很喜欢这茶馆,无事时泡一杯“菊花”坐上一两个钟头,再要点糖渍核桃仁来嚼嚼,也颇有意思③尤其是在烟雨迷离的时候,白雾横江,远山也都看不清楚了④这时“幺师”(茶房)就轻轻地吹起了箫,声音很低,有几次我甚至弄不清这声音
看起来生活好像总是如此不公平。但即便是这样,没有谁因此占了谁的便宜,每一个人都感觉自己是不公平的受难者。也就是说,刻薄的世界_______,厚待的人生_______。填入画横线部分最恰当的一项是:
Generalacceptanceof3-Dfilmsmayprovehardtocomeby,astheexperienceofthreedecadesagoindicated.
邦联是一种( )。
若将柱坐标系中的三重累次积分化为直角坐标系Oxyz中的三重累次积分(先对z,再y最后埘x积分),则I=____________.
Oneafternoonwhenlessonswereover,PeterandPaulleftschool.Whenmeboysreachedhome,itwasseveno’clock.Itwasdark
最新回复
(
0
)