首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:计算S所指字符串中含有t所指字符串的数目,并作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 1 #
给定程序MODI1.C中函数fun的功能是:计算S所指字符串中含有t所指字符串的数目,并作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 1 #
admin
2017-07-27
57
问题
给定程序MODI1.C中函数fun的功能是:计算S所指字符串中含有t所指字符串的数目,并作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #include<string.h>
3 #define N 80
4 int fun(char *s,char *t)
5 { int n;
6 char *p,*r;
7 n=0;
8 while(*s)
9 { p=s;
10 /**********found**********/
11 r=p;
12 while(*r)
13 if(*r==*p) { r++; p++;}
14 else break;
15 /**********found**********/
16 if(*r=0)
17 n++;
18 s++;
19 }
20 return 0;
21 }
22 main()
23 { char a[N],b[N];int m;
24 printf(’’\nPlease enter stringa:’’);gets(a);
25 printf(’’\nPlease enter substring b:’’);gets(b);
26 m=fun(a,b);
27 printf(’’\nThe result is :m=%d\n’’,m);
28 }
选项
答案
(1)r=t; (2)if(*r==0)
解析
函数的功能是计算字符串中含有某子串的数目。
(1)根据“while(*r)if(*r===*p){r++;p++;}”可知该循环是比较r和p指向的字符串是否相等,本题的要求是计算字符串中含有某子串的数目,p指向的源字符串s,所以r应指向的是字符串t,故第一标识下应改成“r==t;”。
(2)根据题意第二标识下“if(*r=0)”应该是判断r是否指向字符串尾,在C语言中,等于是用“==”标识,因此第二标识下应改成“if(*r==0)”。
转载请注明原文地址:https://www.kaotiyun.com/show/j7Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有如下的程序段:charstr[]="HelloWorld";char*ptr;ptr=str;执行上面的程序段后,*(ptr+10)的值为()。
若有以下定义,则对数组元素的正确引用是()。inta[5],*p=a;
关系表中的每一行记录称为一个()。
有以下程序:#include<stdio.h>#include<string.h>main(){chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’h’,’\0’};inti,j;i=sizeof(A);j
有以下程序:#include<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main()
设有如下定义:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是()。
设x和y都是int类型,且x=1,y=2,则printf("%d%d",x,y,(x,y))的输出结果是()。
下列选项中,不属于数据库管理的是()。
下列程序输出结果是()。#includemain(){chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’\0’};inti,j;i=sizeof(a);
随机试题
往来艰涩,迟滞不畅的脉象主病可见
发生月经和孕育胎儿的器官称
在项目生命周期的开始阶段,最适宜的成本计划管理方法是()。
凡是与记账有关的人员,都要在记账凭证上签章。()
由于公司经营不善,已经到了连工资都发不下来的地步。但是,你觉得公司凭借特有的技术和产品,还是有希望搞好的,你会()。
2014年4月25号,中国慈善榜在北京发布,同时揭晓中国慈善家捐赠榜、中国企业慈善榜、中国明星慈善榜三张榜单。()董事局主席以3.7亿元的捐赠额荣获新一届“中国首善”称号。(济宁高新)
表示“1962年10月27日”的日期常量应该写为【】。
有以下程序#include<stdio.h>intf(intx[],intn){if(n>1)returnx[n-1]+f(x,n-1)*10;elsereturnx
F
OnceshamewasaveryBritishemotion.Itgovernedpeople’sliveslongafterstocksandduckingstoolswereabolished.Shakespea
最新回复
(
0
)