您的位置:

字符串比较是否相同c语言的简单介绍

本文目录一览:

C语言如何比较两个【字符】或者【字符串】是否相等?迷糊了,求解答

比较字符可以直接使用==比较操作符,如:

char c1='a',c2='b';

if(c1==c2) printf("%c is same as %c.",c1,c2);

else printf("%c is different to %c",c1,c2);

若是字符串,则需要使用字符串函数了,strcmp

char s1[]="abc",s2[]="xyz";

if(strcmp(s1,s2)==0) printf("%s is same as %s.",s1,s2);

也可以忽略大小写来比较,使用函数stricmp 中间的i意思是ignore case sensitive

还可以指定长度比较,strncmp,如:

char s1[]="abc",s2[]="abcdefg";

if(strncmp(s1,s2,3)==0) printf("first 3 characters are same");

若不是从开头位置开始比较,如:

char s1[]="abc",s2[]="xyzabc"

if(strncmp(s1,s2[3],3)==0) 就是比较s1和s2的第3个字符开始的内容

c语言怎么判断两个字符串是否一样

可以使用strcmp函数,其包含在string.h中。

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

用法:#include string.h

功能:比较字符串s1和s2

说明:当s1s2时,返回值0;当s1=s2时,返回值=0;当s1s2时,返回值0

也可以自己编写一个函数。

#include stdio.h

#include string.h

int main() {

char *s1A="abc",*s1B="abc";

char *s2A="abcd",*s2B="abcde";

puts ("使用strcmp函数");

printf ("s1A=%s、s1B=%s\n",s1A,s1B);

if (strcmp (s1A,s1B) == 0)

printf ("s1A与s1B相同!\n");

else

printf ("s1A与s1B不同!\n");

putchar('\n');

printf ("s2A=%s、s2B=%s\n",s2A,s2B);

if (strcmp (s2A,s2B) == 0)

printf ("s2A与s2B相同!\n");

else

printf ("s2A与s2B不同!\n");

putchar('\n');

puts ("使用自定义strCompar函数");

printf ("s1A=%s、s1B=%s\n",s1A,s1B);

if (strCompar (s1A,s1B) == 1)

printf ("s1A与s1B相同!\n");

else

printf ("s1A与s1B不同!\n");

putchar('\n');

printf ("s2A=%s、s2B=%s\n",s2A,s2B);

if (strCompar (s2A,s2B) == 1)

printf ("s2A与s2B相同!\n");

else

printf ("s2A与s2B不同!\n");

putchar('\n');

return 0;

}

/*两字符串相同返回1;不同返回0*/

int strCompar (char *s1, char *s2) {

while (*s1||*s2) {

if (*s1++!=*s2++)

return 0;

}

return 1;

}

运行结果

C语言中判断两个字符串是否相同的方法

两个字符串相同的定义是:1.它们的每个位置对应的字符相同

2.字符串的长度相同

二者缺一不可

C++中如何判断两个字符串是否相等?

C语言中比较两个字符串是否相等的方法是使用strcmp函数。

它的形式是:strcmp(str1, str2) == 0(成立则两个字符串相等),它需要在编译器开头加上#includestring.h头文件。它的作用是接受两个参数,并用前者去减后者。如果为0就是相等。如果负数,前者在ASCLL表的代码比后者小。举例:

#includestdio.h

#includestring.h

int main()

{

char str1[] = "123456";

char str2[] = "123456";

if (strcmp(str1, str2) == 0)  //这一步开始比较两个字符串是否相等。

printf("这两个字符串相等.");

else printf("这两个字符串不相等");

return 0;

}

输出结果为:

扩展资料:

一、函数的实现原理:向strcmp()函数中传入两个字符串(记为str1,str2).传入之后,通过把str1的各字母的ASCII码值和str2的各字母的ASCII码值进行比较。若str1str2则返回正数,若str1=str2则返回0,否则,则返回负数。

二、函数使用规则:

当s1s2时,返回为负数;当s1==s2时,返回值= 0;当s1s2时,返回正数。即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:

"A""B" "a""A" "computer""compare"

特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。

参考资料:strcmp函数-百度百科