21xrx.com
2024-12-22 23:46:27 Sunday
登录
文章检索 我的文章 写文章
C中的字符串比较
2021-07-07 08:29:42 深夜i     --     --
C

如何比较C中的字符串? 您可以使用 strcmp 函数执行此操作,而无需使用 strcmp 函数并使用指针。 函数 strcmp 区分大小写,如果两个字符串相同,则返回 0。

 

C 比较字符串

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


int main()
{
   char a[100], b[100];

   printf("Enter a string\n");
   gets(a);

   printf("Enter a string\n");
   gets(b);

   if (strcmp(a,b) == 0)
      printf("The strings are equal.\n");
   else
      printf("The strings are not equal.\n");

   return 0;
}

 

程序输出:

下载比较字符串程序。

C字符串比较程序

我们可以创建一个函数来比较两个字符串。

#include <stdio.h>


int compare_strings(char [], char []);
 
int main()
{
   char a[1000], b[1000];
 
   printf("Input a string\n");
   gets(a);
 
   printf("Input a string\n");
   gets(b);
 
   if (compare_strings(a, b) == 0)
      printf("Equal strings.\n");
   else
      printf("Unequal strings.\n");
 
   return 0;
}

int compare_strings(char a[], char b[])
{
   int c = 0;
 
   while (a[c] == b[c]) {
      if (a[c] == '\0' || b[c] == '\0')
         break;
      c++;
   }
   
   if (a[c] == '\0' && b[c] == '\0')
      return 0;
   else
      return -1;
}

使用指针的 C 字符串比较

我们可以通过使用字符指针来创建一个函数来检查两个字符串是否相似。

#include<stdio.h>


int compare_string(char*, char*);

int main()
{
    char first[1000], second[1000]:
    int result;
   
    printf("Input a string\n");
    gets(first);
   
    printf("Input a string\n");
    gets(second);
   
    result = compare_string(first, second);
   
    if (result == 0)
       printf("The strings are same.\n");
    else
       printf("The strings are different.\n");
       
    return 0;
}

int compare_string(char *first, char *second) {
   while (*first == *second) {
      if (*first == '\0' || *second == '\0')
         break;
         
      first++;
      second++;
   }

   if (*first == '\0' && *second == '\0')
      return 0;
   else
      return -1;
}

字符串比较是模式匹配的一部分,例如 当您在 Web 浏览器或文本编辑器中按 Ctrl+F 搜索某些文本时。

  
  

评论区

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