c语言查找子串函数 c语言查找子串个数

急急C语言查找子字符串

char* search(char* str, char ch)

十载的宁晋网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整宁晋建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“宁晋网站设计”,“宁晋网站推广”以来,每个客户项目都认真落实执行。

{

char *pmax, *p, *p1;

int max;

pmax = NULL;

max = 0;

p = str;

while(1)

{

while(*p != NULL *p !=ch) p++;

if(*p== ch)

{

for(p1=p++; *p==ch; p++);

if(p-p1 max)

{

max = p-p1;

pmax = p1;

}

}

}

return pmax;

}

c语言中 编程实现求子串函数

#include stdio.h

#include stdlib.h

char *substr(const char *s,int n1,int n2)/*从s中提取下标为n1~n2的字符组成一个新字符串,然后返回这个新串的首地址*/

{

char *sp=malloc(sizeof(char)*(n2-n1+2));

int i,j=0;

for (i=n1; i=n2; i++) {

sp[j++]=s[i];

}

sp[j]=0;

return sp;

}

int main(void)

{

char s[80],*sub;

scanf("%s",s);/*输入原字符串s*/

sub=substr(s,0,5);/*提取s[0]~s[5]元素组成新子串,并保存到sub中*/

printf("substr:%s\n",sub);/*输出sub*/

free(sub);/*释放sub所占用的空间*/

return 0;

}

C语言关于寻找字符串中子串函数,不知道错误在哪

compare函数中

ret=*z-*x;

if(*x=='\0')

{

break;

}

有明显的逻辑错误。当x比z短时*x=='\0'为“真”而break了,但这时ret是一个不为'\0'的字符与'\0'的差的int值,而非你需要的-1、0、+1逻辑值。比如z是"abcd",x是"abc",最后ret='d'-'\0'=100,把100返回了,而不是返回需要的+1。问题已指出,你自己改吧!


文章题目:c语言查找子串函数 c语言查找子串个数
URL链接:http://hbruida.cn/article/dohjogi.html