成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 职场理财

c判断字符串中是否包含某个字符

Q1:在C语言中怎样判断一个字符串中是否包含另一个字符串

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
#include
void 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;jif(b[i+j]!=a[j]) break;
if(j==la) {printf("%d\n",i+1);break;}
}
}
}
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");
}

Q2:c语言 定义一个函数,判断某字符串中是否包含一个子串

其实就是C 库函数strstr

1234567891011121314151617char*strstr(constchar*s1,constchar*s2){size_tl1,l2;l2=strlen(s2);if(!l2)return(char*)s1;l1=strlen(s1);while(l1>=l2){l1--;if(!memcmp(s1,s2,l2))return(char*)s1;s1++;}returnNULL;}

Q3:C语言 判断一个字符是否在字符串中

BOOLfindchar(chara[],chars)//a是字符串,s是需要判断的字符
{
inti=0;
while(a[i]!=\0)
{
if(s==a[i])
returntrue;
i++;
}
returnfalse;
}

Q4:java中怎么判断一个字符串数组中包含某个字符或字符串

packagetest;

publicclassTest{

publicstaticvoidmain(String[]args){

Stringstr="ab";

System.out.println(isStr(str).toString());

}

/**

*判断一个字符串数组中包含某个字符或字符串:返回一个boolean:参数判断的字符

*1.定义一个字符串数组

*2.遍历这个数组

*3.判断要指定的字符串是否包含在字符串数组内

*4.如果包含返回true,否则返回false

*/

publicstaticBooleanisStr(Stringstr){

Stringarray[]={"a","b","c","hello"};

for(inti=0;i

if(str.equals(array[i])){

returntrue;

}

}

returnfalse;

}

}

wWW.☆bazHisHi.cOm

Q5:C#如何判断字符串中是否包含某个字符

使用字符串的IndexOf方法查找,找到返回正确的位置下标,未找到返回-1

举例:

12345678910stringstr="我爱北京天安门";intindex=str.IndexOf("爱");if(index>-1){Console.Write("找到了");}else{Console.Write("未找到");}Console.Read();

Q6:怎么判断一个字符串中是否包含某个字符

#include
int main(){
char str[100]={0},c;
int i;
printf("请输入字符串");
gets(str);
printf("请输入要检查是否存在的字符");
c=getchar();
for(i=0;str[i]!=\0;i++){
if(str[i]==c){
printf("第%d个是字符%c",i+1,c);
return 0;}}
printf("无法找到");
return 0;}

Q7:C语言中怎么判断一个字符串包含在另一个字符串里面

#include
#include
int 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);
}

猜你喜欢

更多