首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:"abcdabfabcdx",
给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:"abcdabfabcdx",
admin
2020-07-28
42
问题
给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;
若未找到,则函数值为NULL。
例如,当字符串中的内容为:"abcdabfabcdx",t中的内容为:"ab"时,输出结果应是:abcdx。
当字符串中的内容为:"abcdabfabcdx",t中的内容为:"abd"时,则程序输出未找到信息:not be found!。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
char*fun(char*s,char*t)
{
char’P t‘r 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:"); scarlf("%s",t);
P=fun(s,t);
if(p)prontf("\nThe result is:
%s\n",p);
else print:f("\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/ZL3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有下列程序:structS{intn;inta[20];};voidf(int*a,intn){inti;for(i=0;i<n-1;i++)a[i]+=i;}main(){inti;structSs={
若有定义typedefcharT[10];T*a;上述定义中a的类型与下面选项中完全相同的是
有以下程序voidfun(double*p1,double*p2,double*s){s=(double*)calloc(1,sizeof(double));*s=*p1+*(p2+1);}main(){do
对象实现了数据和操作(方法)的结合,其实现的机制是
C语言主要是借助以下哪种手段来实现程序模块化
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。调用fun函数输出字符串,当奇数次调用时要求把字符串中的小写字母转换成大写字母,偶数次调用时按输入字符串的逆序输出字符串。请改正函数fun中指
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。请在程序的下划线处填入
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面属于开发阶段任务的是
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是
我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是
随机试题
若p为质数,且3p+5也为质数,则y=|x-p|+|x-2p|+|x-3p|的最小值是()。
区域型火灾报警控制器电源工作状态切换操作完成之后,应填写对应记录,下列说法正确的有()。
Manypatientsinsistonhavingwatcheswiththeminhospital,______theyhavenoschedulestokeep.
股四头肌能产生最大肌力的收缩形式为
下列组织病理改变可见于念珠菌性白斑的是
下列说法正确的是
位于中国甲市A区的中国公司与位于德国乙市的德国公司在中国甲市B区签订了一份设备买卖合同,因德国公司未按照合同约定向中国公司交付设备,双方发生争议。中国公司决定起诉。下列哪些说法是正确的?()
【B1】______【B19】______
一种计算机所能识别并能运行的全部指令的集合,称为该种计算机的
下列软件中,不是操作系统的是()。
最新回复
(
0
)