首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODII.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:”abcdabfabcdx”,
给定程序MODII.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:”abcdabfabcdx”,
admin
2013-04-02
26
问题
给定程序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://jikaoti.com/ti/Sin0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
当运行以下程序时,输入abcd,程序的输出结果是:[]。insert(charstr[]){inti;i=strlen(str);while(i>0)
以下叙述中错误的是______。
以下叙述中错误的是______。
有以下程序 fun(char p[][10]) {int n=0,i; for(i=O;i<7;i++) if(p[i][O]=T)n++; return n; } main
若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是______。
下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。#includ
下面程序的功能是:将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如:#defineN4voidsort(inta[][N])
以下程序中,函数fun的功能是计算x2(上标)-2x+6,主函数中将调用fun函数计算:y1=(x+8)2(上标)-2(x+8)+6y2=sin2(上标)(x)-2sin(x)+6请填空。
设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是
随机试题
下面哪些是文字图层中抗锯齿的类型:
男性,55岁,血吸虫性肝硬化伴严重脾肿大及血小板减少,有上消化道出血史,胃镜示食管静脉重度曲张。该病人的最佳治疗方法是
结肠造口的护理()
一侧颈内动脉闭塞,可无临床症状,是因为
下列哪种继发性高血压最常见
下面哪项不是窝沟封闭的适应证A.患较多窝沟龋B.对侧同名牙有龋C.已充填完好的牙D.牙面窝沟可疑龋E.牙面窝沟较深
下列企业属于增值税一般纳税人,但可按6%征收率征税的企业是( )。
《国家赔偿法》第十七条规定,因公民自己故意作虚伪供述或者伪造其他有罪证据被羁押或者被判处刑罚的,国家应承担赔偿责任。()
不论其社会制度和发展程度如何,各国都把经济和科技作为国家的战略重点,以便增强自己的综合国力,在世界未来的格局中占据要位,这深刻地说明()。
Menwhomadetheearlymapsshowedthatthecenteroftheearthas_______.Fromthestorywecanseethat_______.
最新回复
(
0
)