首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:计算S所指字符串中含有t所指字符串的数目,并作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 1 #
给定程序MODI1.C中函数fun的功能是:计算S所指字符串中含有t所指字符串的数目,并作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 1 #
admin
2017-07-27
58
问题
给定程序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://kaotiyun.com/show/j7Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有如下定义:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是()。
若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是()。
下列程序的运行结果是()。#include<stdio.h>voidsub(int*s,int*y){staticintm=4:*y=s[m];m--;}voidmain(){
定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。for(i=0;i<3;i++)printf("%d",x[i][2-i]);
二叉树的遍历可以分为三种:前序遍历、()遍历和后序遍历。
对下列二叉树进行中序遍历的结果是()。
以下程序的输出结果是()。#include<stdlib.h>main(){char*s1,*s2,m;s1=s2=(char*)malloc(sizeof(char));*s1=15;*s2=2
设循环队列的存储空间为Q(1:30),初始状态为front=rear=30。现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有【】个元素。
队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许删除的一端称作_____________。
下列关于队列的叙述中正确的是
随机试题
输血后发热的常见病因是
强心苷中毒的停药指征,错误的是
患者,男性,36岁。便血2年,初为排便后有少量鲜血滴出,无痛,便后出血自行停止。近半年来偶有块状物自肛门脱出,便后自行回缩,最可能的诊断是
若压杆在两个方向上的约束情况不同,且μy>μx。那么该压杆的合理截面应满足的条件为()。
阅读《拿来主义》片段,回答问题。他占有,挑选。看见鱼翅,并不就抛在路上以显其“平民化”,只要有养料,也和朋友们像萝卜白菜一样的吃掉,只不用它来宴大宾;看见鸦片,也不当众摔在毛厕里,以见其彻底革命,只送到药房里去,以供治病之用,却不弄“出售存膏,售完
第一次世界大战的导火索是()。
①使用语言,不仅要用得对,在语法上不出毛病,而且要力求用得好,要有艺术性,有感染力,这就要讲究运用语言的艺术,也就是要讲究一点修辞②有意用不符合语法常规的办法取得某种修辞效果是许可的,然而这只是偶一为之,并且要有些特定的条件③如果语言不
赎罪券
程序流程图中带有箭头的线段表示的是( )。
E-CommerceTheRetailCompanyyouworkforisinvestigatingwaysofincreasingmarketshare,includingaplantomakeuseofthe
最新回复
(
0
)