C语言中如何判断给定的两个字符串是否互为子串

作者&投稿:愚柔 (若有异议请与网页底部的电邮联系)
C语言 判断一个字符串str是否包含特定字符c~

看看你的程序:
for(i=0;i<=strlen(s);i++)
{if(s[i]==c) break;return 1;}

if(s[i]==c)返回ture,执行break,跳到循环体的开始下一次循环;
if(s[i]==c)返回false,不执行break,执行return 1,直接返回了1。--->这个就是问题所在了。就是匹配了你break了,只要有一个不匹配你就直接return 1。

修改如下:
for(i=0;i<=strlen(s);i++)
{
if(s[i]!=c) //不是==,而是!=
break;
else
return 1;
}

strcmp



原型:extern int strcmp(char *s1,char * s2);

用法:#include

功能:比较字符串s1和s2。

说明:
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0

举例:

// strcmp.c

#include
#include

main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;

clrscr();

r=strcmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");


getchar();
return 0;
}

相关函数:bcmp,memcmp,stricmp,strncmp

int strstr(char *s1,char *s2)
{
int i,flag=0;
if(strlen(s1)>=strlen(s2))
{
for(i=0;i<strlen(s2);i++)
if(s1[i]!=s2[i])
flag=1;
if(flag==1) return 0;
else
return 1;
}
return 0;
}

strstr(s1,s2)等于1的时候说明s2是s1的字串.

使用strstr函数
例如:
const char* string1 = "abcdef";
const char* string2 = "cde";

if(strstr(string1, string2) || strstr(string2, string1)
{
printf("互为子串\n");
}


c语言中if语句如何验证输入一个字母是否与给定的相同?
(1)对于一个字母是否与给定的字母相同,直接进行判断就可以了,比如判断字母是否与给定的字母'a'相同,代码如下:if (x == 'a'){ \/\/相同 }else { \/\/不相同 } (2)对于判断一个字符串是否与给定字符串相同,则需要借助strcmp函数进行判断,如果返回0,则相等,比如判断字符串是否与给定的字符...

用c语言,如何快速判断一个很大数组里面有没有给定的数字
数组很小的话,可以使用一次遍历。O(n)数组稍大的话可以使用排序折半查找 O(logn)数组再大的话可以使用hash,判断这个键值是否存在O(1)数组非常大的话,如上百亿千亿,可以使用BF(Bloom Filter),即多个hash,来判断。但该方法只能保证一个数如果不在数组的话一定不在,如果结果为在,则不一定在。

c语言判断给定的一个数是否是基数,偶数,合数,完数,水仙花的代码?_百度...
以下是 C 语言判断一个数是否是奇数、偶数、质数、完数、水仙花数的代码:```c include <stdio.h> \/* 判断是否为奇数 *\/ int is_odd(int num) { return num % 2 != 0;} \/* 判断是否为偶数 *\/ int is_even(int num) { return num % 2 == 0;} \/* 判断是否为质数 *\/ int is...

给出一行C语言表达式,判断给定的整数是否是一个2的幂
下面是一个判断给定整数是否是2的幂的C语言代码。int is_power_of_two(int n){ return ((n != 0) && !(n & (n - 1)));} 上述代码使用位运算的方法判断给定整数n是否是2的幂。具体来说,如果n是2的幂,则n二进制中只有一个1,如4(100),8(1000),16(10000)等。因此,将 n&...

C语言 判断给定字符串是否是回文
1. 使用循环语句,从头判断到尾。那就要求我们给循环语句一个最长执行长度,这就要考虑两种情况,一种,数组长度为奇数,另一种,数组长度尾偶数。不同的情况我们的判决情况也不一样,必须选一个适合两种情况的判决条件,这里使用n=i\/2-1,让n来作为标准。(原因看图)。(其实除了要考虑这种情况之外...

c语言中如何从一个字符串中查询是否有给定的关键词!
strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。包含文件:string.h函数名: strstr函数原型: extern char *strstr(char *str1, const char *str2);语法:strstr(str1,str2)st...

C语言 判断给定自然数n是否为降序数
思路:通过除10求余可以得到一个数的倒序,如果倒序是升序则自然数n就是降序。参考代码:#include<stdio.h> int fun(int n){int t=-1,p;while(n){p=n%10;if(t>p) return 0;t=p;n\/=10;}return 1;}int main(){int n;scanf("%d",&n); if(fun(n))printf("%d为降序!\\n",n...

C语言. 编写函数,判断在给定字符串中是否包含指定的子串
j=0; \/\/字串字符重新开始 } if(j == strlen(s)){\/\/如果匹配成功 flag=1; \/\/字串出现 break; } } if(flag==1) printf("%s中包含%s\\n",str,s)

c语言 判断给定的三条边是否能组成等腰三角形 的全部程序
程序功能(VC6.0):输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形:\/ include <stdio.h> include <math.h> void main(){ int a,b,c;printf("Please Enter a b c:");scanf("%d%d%d",&a,&b,&c...

简述c语言中的三种基本控制结构,循环结构。
C语言的选择结构:选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。使用选择结构语句时,要用条件表达式来描述条件。C语言的循环结构 :循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构 。

黄石市13043472779: C语言中怎么判断两个字符串是相同的. -
皮美一干: strcmp 原型:extern int strcmp(char *s1,char * s2); 用法:#include <string.h> 功能:比较字符串s1和s2. 说明: 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 举例: // strcmp.c #include <syslib.h> #include <string.h> ...

黄石市13043472779: C语言中如何判断给定的两个字符串是否互为子串 -
皮美一干: int strstr(char *s1,char *s2) { int i,flag=0; if(strlen(s1)>=strlen(s2)) { for(i=0;i<strlen(s2);i++) if(s1[i]!=s2[i]) flag=1; if(flag==1) return 0; else return 1; } return 0; }strstr(s1,s2)等于1的时候说明s2是s1的字串.

黄石市13043472779: C语言中判断两个字符串是否相同的方法 -
皮美一干: C语言提供了几个标准库函数,可以比较两个字符串是否相同.以下是用strcmp()函数比较字符串的一个例子: #include <stdio. h> #include <string. h> void main (void); void main(void) { char* str_1 = "abc" ; char * str_2 = "abc" ; char* str_...

黄石市13043472779: C语言里面怎么判断两个字符串是prefix,postfix -
皮美一干: #include #include #define maxlength 100 int main() { char string1[maxlength]; char string2[maxlength]; printf("Enter string1:\n"); scanf("%s",string1); printf("Enter string2:\n"); scanf("%s",string2); if(strncmp(string1,string2,strlen(string1))...

黄石市13043472779: C语言实现如何判断两个字符串是否一样,忽略字符顺序,例如“aacde”和“eaadc”是一样的 -
皮美一干: 可以分别统计给出两个字符串中每个字母和它的个数,然后先比较两组字母是否相等,若相等则再比较其个数是否相等,如果还相等,那么两组字符串一样! 如果需要,我这里有已经编好的统计函数

黄石市13043472779: c语言中如何判断两个字符串完全相等 -
皮美一干: 用字符比较函数,做个FOR循环判断即可, 字符串比较函数strcmp 格式strcmp(a,b)=0 a=bstrcmp(a,b)<0 a<bstrcmp(a,b)>0 a>ba,b均为字符串!

黄石市13043472779: c语言中如何判断两个字符串相等 -
皮美一干: #include <string.h> char s1[10],s2[10]; ... if(strcmp(s1,s2)==0) printf("两字符串相等\n"); string.h 头文件中就有比较函数,可以用来比较是否相等

黄石市13043472779: C语言编程:从键盘上输入两个字符串,判断两个字符串是否相等. -
皮美一干: #include#include int main() { char sa[100],sb[100]; scanf("%s%s",sa,sb); if(strcmp(sa,sb)==0)puts("相等"); else puts("不相等"); return 0; }

黄石市13043472779: C++语言中有哪些方法可以判断两个字符串是否相等? -
皮美一干: 1、可以使用库函数strcmp比较. (1)strcmp是C语言比较字符串的库函数.形式为int strcmp(char *a, char *b); (2)该函数会对a和b的每个字符,按照ascii码值比较,如果二者完全相同返回0;如果a的ascii码值先出现较大者,会返回1;否则返回-1. ...

黄石市13043472779: C语言如何用if判断一个字符串与另一个字符串是否相等? -
皮美一干: C语言中有一个字符串处理函数strcmp用来比较两个字符串的大小,它存在于“string.h”的头文件中.程序改为:#include "stdio.h" #include<string.h> main() {char s[5],b[]="ucci";gets(s);if (strcmp(s,b)==0) printf("1");}

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网