📜  C |字串|问题10(1)

📅  最后修改于: 2023-12-03 14:39:40.198000             🧑  作者: Mango

C语言中的字符串问题10

在C语言中,我们可以使用字符串来存储和操作文本数据。在字符串中,我们可以使用多种函数来操作字符串。本文会讲解C语言中字符串问题10,即如何比较两个字符串。

strcmp函数

比较两个字符串可以使用C语言中的strcmp函数,它可以比较两个字符串的大小,返回值为0表示两个字符串相等,如果返回值小于0,则第一个字符串小于第二个字符串,反之返回值大于0,则第一个字符串大于第二个字符串。以下是strcmp函数的语法:

int strcmp(const char *str1, const char *str2);

其中str1和str2是需要比较的两个字符串。

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

#include <stdio.h>
#include <string.h>

int main()
{
   char str1[20] = "Hello";
   char str2[20] = "World";

   int result = strcmp(str1, str2);

   if(result == 0) {
      printf("两个字符串相等");
   }
   else if(result < 0) {
      printf("第一个字符串小于第二个字符串");
   }
   else {
      printf("第一个字符串大于第二个字符串");
   }

   return 0;
}

上面的程序会输出“第一个字符串大于第二个字符串”,因为'H'的ASCII码大于'W'的ASCII码。

strncmp函数

除了strcmp函数外,还有一个类似的函数叫做strncmp函数。不同的是,strncmp函数可以比较字符串中的指定部分。以下是strncmp函数的语法:

int strncmp(const char *str1, const char *str2, size_t n);

其中str1和str2是需要比较的两个字符串,n是比较字符串的长度。

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

#include <stdio.h>
#include <string.h>

int main()
{
   char str1[20] = "Hello World";
   char str2[20] = "Hello";

   int result = strncmp(str1, str2, 5);

   if(result == 0) {
      printf("两个字符串的前5个字符相等");
   }
   else if(result < 0) {
      printf("第一个字符串的前5个字符小于第二个字符串的前5个字符");
   }
   else {
      printf("第一个字符串的前5个字符大于第二个字符串的前5个字符");
   }

   return 0;
}

上面的程序会输出“两个字符串的前5个字符相等”,因为“Hello”是两个字符串的前5个字符。