21xrx.com
2024-09-19 09:08:03 Thursday
登录
文章检索 我的文章 写文章
如何用C语言比较两个字符串是否相等
2023-06-15 09:52:11 深夜i     --     --
C语言 字符串 比较函数 strcmp()函数 字符逐个比较

在C语言中,比较两个字符串是否相等是我们经常需要做的一件事情。但是由于字符串本质上是由一系列字符组成的数组,因此直接通过“==”运算符来比较两个字符串是否相等是行不通的。那么如何用C语言来比较两个字符串是否相等呢?

一种比较简单的方法就是利用库函数strcmp()。该函数用于比较两个字符串,并返回一个整数值,其具体含义如下:

1.如果两个字符串相等,则返回0;

2.如果第一个字符串小于第二个字符串,则返回一个负数;

3.如果第一个字符串大于第二个字符串,则返回一个正数。

下面是一个使用strcmp()函数比较两个字符串的例子:

#include

#include

int main()

{

  char str1[20] = "Hello";

  char str2[20] = "Hello";

  int result = strcmp(str1, str2);

  if(result == 0)

   printf("两个字符串相等\n");

  else

   printf("两个字符串不相等\n");

  return 0;

}

运行结果为:

两个字符串相等

除了strcmp()函数外,我们还可以使用逐个比较字符的方法来比较两个字符串是否相等。这种方法的基本思路是:逐个比较两个字符串中对应位置的字符,如果对应位置的字符都相等,则两个字符串相等;否则,两个字符串不相等。下面是一个使用逐个比较字符的方法比较两个字符串的例子:

#include

#include

int main()

{

  char str1[20] = "Hello";

  char str2[20] = "Hello";

  int flag = 1;

  int i;

  // 逐个比较两个字符串中对应位置的字符

  for(i = 0; str1[i] != '\0' && str2[i] != '\0'; i++)

  {

   if(str1[i] != str2[i])

     flag = 0;

     break;

  }

  if(flag == 1)

   printf("两个字符串相等\n");

  else

   printf("两个字符串不相等\n");

  return 0;

}

运行结果为:

两个字符串相等

通过上述两种方法,我们可以很容易地比较两个字符串是否相等。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复