首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODII.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:”abcdabfabcdx”,
给定程序MODII.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 例如,当字符串中的内容为:”abcdabfabcdx”,
admin
2013-04-02
24
问题
给定程序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://kaotiyun.com/show/HDJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序中函数fun的功能是:构成—个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数disp。#include<stdio
以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。intisprime(inta){inti;for(i=2;i<=a/2;i++)
有以下程序 main() {int i,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++)
有以下程序 main() {int a=0,b=0,c=0,d=0; if(a=1)b=1;c=2; else d=3; printf("%d,%d,%d,%d\
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为______。
有以下程序段 struct st {int x;int *y;}*pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b};
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。 void f(int b[],int n,int flag) { int i,j,t; for(i=0;i<n-1;i++)
设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是
有以下函数 int fun(char *s) { char *t=s; while(*t++); return(t-s); } 该函数的功能是
随机试题
要想泡好一杯茶,必须掌握好水温、茶量和浸泡时间。
______(fortune),afriendofMr.Jacksondiedfromatrafficaccidentyesterday.
下列关于磁共振图像矩阵的叙述正确的是
以下对于大陆法系的特点的说法正确的是:
吊顶工程吊杆应通直,距主龙骨端部距离不得超过()mm。
基金信息披露的内容不包括()。
法国大革命期间,制宪会议颁布的纲领性文件是()。
各区、县人民政府,市政府各委、办、局,各市属机构:2012年6月,国务院印发了《关于加强食品安全工作的决定》(国发[2012]20号,以下简称《决定》),明确了加强食品安全工作的指导思想、总体要求、工作目标和具体措施。为进一步加强本市食品安全工作
关注生理性动机的动机理论是
positiondefineforgetfulfancykeybalanceimportanceunhealthylacksubjectope
最新回复
(
0
)