c语言判断某段字符串是否包含,c语言中判断一个字符串是否包含另一个字符串.doc...

c语言中判断一个字符串是否包含另一个字符串

2012-04-27 14:42 3251人阅读 (0)

1. 使用库函数

string.h?strstr函数?函数名: strstr?功 能: 在串中查找指定字符串的第一次出现?用 法: char *strstr(char *str1, char *str2);?说明:返回指向第一次出现str2位置的指针,如果没找到则返回NULL。?调用函数,判断返回值是否等于NULL,决定是否输出?如;?char *p=".c"; //需要的子串if(strstr(A,p)) printf("%s",A);

2. 不使用库函数

第一行是要查找的字符串?第二行是被查找句子输出要查找的字符串在被查找句子的首个位置#include#includevoid main(){int i,j,la,lb,num=0;char c,a[120],b[4500];while((c=getchar())!='\n') a[num++]=c;a[num]='\0';num=0;while((c=getchar())!='\n') b[num++]=c;b[num]='\0';la=strlen(a);lb=strlen(b);for(i=0;(lb-i)>=la;i++){if(b[i]==a[0]){for(j=0;j

3. 使用指针

#include "stdio.h"#include "conio.h"#include "string.h"int main(){char str[20]="jsdlaadf",substr[10]="sdf";char *p=str,*q=substr;int flag=0;for(;*(p+strlen(substr)-1);p++){for(q=substr;*p==*q&&*q;p++,q++);if(!*q){flag=1;break;}}if(flag==1) puts("accord");else puts("not accord");system("pause");}

/*写一个函数,判断字符串S中是否包含子串C*/#include #includeint flag=0;void main(){ int f(char str1[],char str2[]);char str1[20],str2[20],*s1,*s2;printf("input string1:\n"); gets(str1);s1=str1;printf("input string2:\n");gets(str2); /*str2为要验证的字串*/s2=str2;f(s1,s2);if (flag==1)printf("\nYES!\n\n");else if (flag==0)printf("\nNO!\n\n");}int f(char*s1,char*s2){char *p,*q;for(;*s1!='\0';s1++){if (*s2==*s1) /*判断字符串中是否有和要判断的字串首字符相同的字符*/{ flag=1; p=s1 ; /*s1 p 为第一个相同字符的地址*/q=s2;for(;*q!='\0';) /*如果有则判断接下去的几个字符是否相同*/{ if (*q++!=*p++){ flag=0;break;}

}

}

if (flag==1)break;}return(flag);}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值