如何在C++中比较字符

如何在C++中比较字符

C语言中的char是用来表示字符数据类型的关键字。 char的内存大小为1个字节,包含数字、字母和字母数字字符。我们可以使用以下2种不同的方式在C中比较字符:

  1. 使用ASCII值进行比较。
  2. 使用内置函数。

1. 使用ASCII值进行比较

由于每个字符都有唯一的ASCII值,所以我们可以使用此属性进行字符比较。让我们通过一个例子来看看。

// C程序比较
// 使用ASCII值的字符
// Values

#include <stdio.h>

// 主要代码
int main()
{
  // 声明2个字符
  char first = 'a';
  char second = 'b';
  char third = 'a';

  // 比较首字符和
  // 第二个字符
  // 相等
  if (first == second)
    printf("%c和%c相等\n",
           first, second);

  else
    printf("%c和%c不相等\n",
           first, second);

  // 比较第二和
  // 第三个字符
  // 相等
  if (first == third)
    printf("%c和%c相等\n",
           first, third);

  else
    printf("%c和%c不相等\n",
           first, third);

  return 0;
}
#include <bits/stdc++.h>
using namespace std;

// 主要代码
int main()
{
  // 声明2个字符
  char first = 'a';
  char second = 'b';
  char third = 'a';

  // 比较首字符和
  // 第二个字符
  // 相等
  if (first == second){
    cout<<first<<"和"<<second<<"相等\n";
  }

  else{
    cout<<first<<"和"<<second<<"不相等\n";
  }

  // 比较第二和
  // 第三个字符
  // 相等
  if (first == third)
    cout<<first<<"和"<<third<<"相等\n";

  else
    cout<<first<<"和"<<third<<"不相等\n";

  return 0;
}  

输出

a和b不相等
a和a相等

2.使用strcmp函数(内置函数)

strcmp是由C中的库提供的一种功能。它是一个用于比较字符串但可用于比较字符的函数。

语法

strcmp(& ele1,& ele2); // ele1和ele2是要比较的两个元素

参数

  • ele1- 表示元素1(字符串)。
  • ele2- 表示元素2(字符串)。

将两个元素插入进行比较。

返回类型: strcmp返回一个整数值,该值根据比较后获得的结果而定。

  • 如果两者相等,则返回0。
  • 否则返回-1。

下面是使用strcmp比较字符的C程序:

// C程序比较
// 使用strcmp
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 主要代码
int main()
{
  // 声明2个字符
  char first[] = "b";
  char second[] = "b";
  char third[] = "a";

  // 比较首字符和
  // 第二个字符
  if (strcmp(first, second) == 0)
    printf("%s和%s相等\n",
           first, second);
  else
    printf("%s和%s不相等\n",
           first, second);

  // 比较第二和
  // 第三个字符
  if (strcmp(first, third) == 0)
    printf("%s和%s相等\n",
           first, third);
  else
    printf("%s和%s不相等\n",
           first, third);

  return 0;
}
#include <bits/stdc++.h>
using namespace std;
 
// Driver code
int main()
{
  // 声明两个字符
  char first[] = "b";
  char second[] = "b";
  char third[] = "a";
 
  // 比较第一个和第二个字符
  if (strcmp(first, second) == 0)
      cout<<first<<" 和 "<<second<<" 相等\n";
  else
      cout<<first<<" 和 "<<second<<" 不相等\n";
 
  // 比较第二个和第三个字符
  if (strcmp(first, third) == 0)
      cout<<first<<" 和 "<<third<<" 相等\n";
  else
      cout<<first<<" 和 "<<third<<" 不相等\n";
 
  return 0;
}  

输出

b 和 b 相等
b 和 a 不相等

时间复杂度: O(1).

辅助空间: O(1).

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程