首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODII.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:”abcdabfabcdx”,
给定程序MODII.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:”abcdabfabcdx”,
admin
2013-04-02
39
问题
给定程序MODII.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;
若未找到,则函数值为NULL。
例如,当字符串中的内容为:”abcdabfabcdx”,t中的内容为:”ab”时,输出结果应是:abcdx。
当字符串中的内容为:”abcdabfabcdx”,t中的内容为:”abd”时,则程序输出未找到信息:notbe 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("\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");
}
选项
答案
a=NULL; 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/HDJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下叙述中错误的是______。
有以下程序 int fun1 (double a){return a*=a;} int fun2 (double x,double y) { double a=0,b=0; a=fun1
若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是______。
对如下二叉树进行后序遍历的结果为______。
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针向链表的第—个结点。若有以下程序段 q=s; s=s->next; p=s; while(p->next) p
若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。
在结构化分析使用的数据流图(DFD)中,利用【】对其中的图形元素进行确切解释。
设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是
有以下函数 int fun(char *s) { char *t=s; while(*t++); return(t-s); } 该函数的功能是
随机试题
M:Whatafinedaytoday!【D1】______W:Thatsoundslikeagoodidea.【D2】______M:Let’sgototheGreenHill.W:Sha
男,50岁。乙型肝炎病史30年,腹胀,乏力,双下肢水肿伴尿少1个月。B超:肝脏回声增粗,不均匀,中等量腹水。该患者肝脏病理最可能的表现是()
A、当归B、熟地黄C、何首乌D、白芍E、阿胶既能补血,又能止血的药物是()
[2012年,第3题]P1和P2为偏振化方向相互垂直的两个平行放置的偏振片,光强为I0的自然光垂直入射在第一个偏振片P1上,则透过P1和P2的光强分别为()。
火灾发生的原因多数是由于可燃物________引起的。()
早强剂多用于抢修工程和冬季施工的混凝土。目前常用的早强剂有下列的()。
关于刑事强制措施的表述,下列选项中错误的有()。
Thereareno________differencesbetweenthetwoproducts,despitethefactthateachismadefromdifferentmaterials.
在计算机通信中,必须将数字信号转换成适于传输的模拟信号后,通过传输线路进行远距离传送;在接收端又必须将接收到的模拟信号恢复到原来的数字信号。实现此功能的方法是将微型计算机与电话系统之间连接上______。
阅读下面的文章,完成后面各题。警句徐懋庸许多作者写作喜用警句,许多读者读书喜看警句。有些老师在学生
最新回复
(
0
)