首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为“abcdabfab”,t
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为“abcdabfab”,t
admin
2018-10-21
32
问题
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为“abcdabfab”,t所指字符串的内容为“ab”,则函数返回整数3。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#~nclude<corlio.h>
#include<stdio.h>
#include<string.h>
int fun(char*s,char*t)
{
int n;char*p,*r;
n=0;
while(*s)
{
p=s;
r=t;
while(*r)
/*********found*********/
if(*r=*p){r++;*++}
else break;
/*********found*********/
if(r;=’\0’)
n++;
s++;
}
return n
}
void main()
{
char s[100],t[100];int m;
system("CLS");
printf("\nPlease enter string s:");
scanf("%s",s);
print:f("\nPlease enter substring t:”");
scanf("%s",t);
m=fun(s,t);
printf("\nThe result is:m=%d\n",m);
}
选项
答案
(1)if(*r==*p){r++;p++;} (2)if(*r==’\0’)
解析
从字符串s中找出子串t的方法是:从第1个字符开始,对字符串进行遍历,若s串的当前字符等于t串的第1个字符,两个字符串的指针自动加1,继续比较下一个字符;若比较至字符串t的结尾,则跳出循环;若s串的字符与t串的字符不对应相同,则继续对s串的下一个字符进行处理。
转载请注明原文地址:https://jikaoti.com/ti/c1a0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行后的输出结果是______。main(){inta=3,b=4,c=5,t=99;i[(b<a&&a<C)t=a;a=c;c=t;if(a<c&&b<C)t=b;b=a;a=t
以下程序的输出结果是【】。#include<stdio.h>main(){inta=2,b=3,c=4;a*=16+(b++)-(++c);Printf("%d",a);}
一个算法的时间复杂性是______的函数。
下面程序的输出结果是()。#include<stdio.h>main(){staticchara[]="zhao",b[]="juan";char*ptr1=a,*ptr2=b;intk;for(k=
现有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1
以下程序的输出结果是#includestructst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[
设有定义:intn1=0,n2,*P=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是()。
有以下程序:#include<stdio.h>#defineN5#defineMN+1#definef(x)(x*M)main(){inti1,i2;i1=f(2);i2=f(1+
下列程序的运行结果是【】。main(){inti;for(i=1;i<=5;i++)f(i);}f(j){intj;staticinta=1000;auto
随机试题
采用慢速维持荷载法对某直径为1.2m、桩长为20m的桥梁桩基进行竖向静载试验,已知桥位处地基土为坚硬黏质土,请回答以下问题。当出现下列()情形之一时,应终止加载。
A.单纯扩散B.易化扩散C.继发性主动转运D.原发性主动转运K+由细胞内向细胞外转运,属于
在细菌性肝脓肿中,细菌进入肝脏最常见的途径是
A.粪便学检查B.血液涂片检查C.肌肉压片检查D.生殖道黏膜涂片检查E.淋巴结穿刺检查双芽巴贝斯虫病可采取的检查方法是
[2011年第078题,2006年第104题,2000年第140题,1999年第154题]根据我国《城市居住区规划设计规范》的规定,下列公共绿地的指标哪一项是正确的?
工程项目管理的基本原理不包括()。
工作单位内部的工会委员从事的工作属于( )。
下列哪项不是肝硬化腹水治疗必须遵循的原则?()
提出操作性条件反射学习理论的心理学家是()。
在表设计器的“字段”选项卡中,字段有效性的设置项中不包括
最新回复
(
0
)