| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5607 人关注过本帖
标题:判断一个字符串是否在另一个字符串中出现
只看楼主 加入收藏
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
KMP算法:
int Index_KMP(SString S,SString,T,int pos){
 i=pos;
 j=1;
 while(i<=S[0]&&j<=T[0]){
  if(j==0||s[i]==T[j]{
   ++i;
   ++j;
  }
  else j=next[j];
 }
 if(j>T[0]) return i-T[0];
 else return 0;
}

void get_next(SString T,int &next[]){
 i=1;
 next[1]=0;
 j=0;
 while(i<T[0]){
  if(j==0||T[i]==T[j]){
   ++i;
   ++j;
   next[i]=j;
  }
  else j=next[i]
 }
}

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2016-05-22 07:27
旧丨雨
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2016-4-18
收藏
得分:0 
用strchr函数,在string.h头文件中,用法给你举个例子
int p;
char a[10];
p=stdchr(a,'k');
如果a字符串中有字符'k',则p返回值为1,没有则为0
2016-05-22 10:43
xyzw
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2016-5-18
收藏
得分:0 
我这样写了一个,但是不知道怎么控制条件,使得在没找到字符串的情况下输出“no”,请大神指教。

程序代码:
#include<stdio.h>
#include<string.h>
int main()
{
    char s[80],c[80];
    int m,n,i,j,x=0;
    gets(s);
    gets(c);
    m=strlen(s);
    n=strlen(c);
    for(i=0;i<m;i++)
    {
        if(s[i]==c[0])
        x=i;
        for(j=0;j<n;j++)
            if(s[i+j]!=c[j])
               break;
            if(j==n)
                printf("index=%d\n",x);}
        if(i==m)/*这个条件怎么写控制没有查找到字符时输出“no”*/        
            printf("No\n");    
    return 0;
}



[此贴子已经被作者于2016-5-22 11:18编辑过]

2016-05-22 11:13
xyzw
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2016-5-18
收藏
得分:0 
已解决,谢谢、
2016-05-23 13:11
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
收藏
得分:0 
回复 9楼 吹水佬
你好,我是路人甲, for (p2=str2; *p2!=0 && *p2!=*p1; p2++);这句还有下面那句if条件语句没懂,能麻烦你解释一下吗?
2016-05-23 19:41
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
收藏
得分:0 
回复 15楼 _Strike
懂了
2016-05-23 20:12
快速回复:判断一个字符串是否在另一个字符串中出现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016496 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved