首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:求出S所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。 例如,当字符串中的内容为“abcdabfabcdx”,t中的内容为“ab”
给定程序MODI1.C中函数fun的功能是:求出S所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。 例如,当字符串中的内容为“abcdabfabcdx”,t中的内容为“ab”
admin
2019-09-02
40
问题
给定程序MODI1.C中函数fun的功能是:求出S所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。
例如,当字符串中的内容为“abcdabfabcdx”,t中的内容为“ab”时,输出结果应是“abcdx”。
当字符串中的内容为“abcdabfabcdx”,t中的内容为“abd”时,则程序输出未找到信息“not be found!”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include <stdio.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;
}
main()
{
char s[100],t[100],*p;
printf("\nPlease enter strings:");scanf("%s",s);
printf("\nPlease enter substringt:");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://kaotiyun.com/show/jORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长
下列选项中不符合良好程序设计风格的是
以下选项中关于C语言常量的叙述错误的是
以下选项中不合法的标识符是
有以下程序:#includevoidfun(char*c){while(*c){if(*c>=’a’&&*c<=’z’)*c=*c一(’a’-’A’);C++;}}voidmain(){char
不能正确表示数学式的表达式是
C语言中char类型数据占字节数为
数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
若要求从键盘读入含有空格字符的字符串,应使用函数
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是
随机试题
Ingeneral,oursocietyisbecomingoneofgiantenterprisesdirectedbyabureaucraticmanagementinwhichmanbecomesasmall,
在判断甲状腺结节良恶性时,下列哪项错误()(2005年)
患儿8个月,夜间常哭闹、多汗、睡眠不安。查体见方颅、肋骨串珠。下列护理措施中错误的是
一切技术分析方法都是以价量关系为研究对象的。()
应用财务报表的主要目标有()。
导致市场失灵的主要原因有()。
中华人民共和国公民有言论、出版、集会、结社、游行、示威和罢工的自由。()
一条虫子沿长6分米,宽4分米,高5分米的长方体的棱爬行。如果它只能进不能退,并且同一条棱不能爬两次,那么它最多能爬()分米。
请在“答题”菜单中选择相应的命令。并按照题自要求完成下面的操作。注意:以下的文件必须保存在考生文件夹下。请根据提供的素材文件“ppt素材.docx”中的文字、图片设计制作演示文稿,并以文件名“ppt.pptx”存盘,具体要求如下:1.将素材文件中每个
Whatwillmanbelikeinthefuture—in5000oreven50000yearsfromnow?Wecanonlymakeaguess,ofcourse,butwecanbes
最新回复
(
0
)