未分类题
下列给定程序中,函数fun()的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为abcdabfab,t所指字符串的内容为ab,则函数返回整数3。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.
试题程序:
include <conio.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++; p++}
else break;
/*************found**************/
if(r=='/0')
n++;
s++;
}
return n;
}
main()
{char s[100], t[100]; int m;
clrscr();
printf('/nPlease enter string s: ');
scanf ('%s',s);
printf('/nPlease enter substring t: ');
scanf ('%s',t);
m=fun (s,t);
printf('/nThe result is: m=%d/n', m);
}
A.
B.h>
C.h>
D.h>
【参考答案】
(1)错误:if(*r==*p) {r++;p++} 正确:if(*r==*p) {r++;p++;}(2) 错误;if......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)