modi12.c

来自「c题库」· C语言 代码 · 共 40 行

C
40
字号
/*
下列给定程序中函数fun的功能是:求出在字符串中最后一次出现的子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。例如,当字符串中的内容为abcdabfabcdx,t中的内容为ab时,输出结果应是:abcdx。当字符串中的内容为abcdabfabcdx,t中的内容为abd时,则程序输出未找到信息:not be found!。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更乞讨程序的结构。
*/
#include <conio.h>
#include <stdio.h>
#include <string.h>
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++;}
			s++;
	}
	return a;
}

main()
{
	char s[100],t[100],*p;
	clrscr();
	printf("\nPlease enter string S :");scanf("%s",s);
	printf("\nPlease enter substring t :");scanf("%s",t);
	p=fun(s,t);
	if(p) printf("\n The result is : %s\n", p);
	else printf("\nNot found !\n");
}

/*
答案:
 	a=NuLL; 改为 	a=NULL;
 if(r==p){r++;p++;}改为if(*r==*p){r++;p++;}   
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?