📜  不使用 strcmp()函数比较两个字符串的 C 程序(1)

📅  最后修改于: 2023-12-03 15:35:54.183000             🧑  作者: Mango

使用循环比较两个字符串的 C 程序

在 C 语言中,字符串是由字符数组组成的。可以使用字符串库函数 strcmp() 来比较两个字符串是否相等。然而,在某些情况下,我们可能需要编写一个不使用 strcmp() 函数来比较两个字符串的程序。

最简单的方法是使用循环逐个比较两个字符串中的每个字符,直到出现不匹配的字符或者其中一个字符串结束为止。下面是一个示例程序,它比较两个字符串是否相等:

#include <stdio.h>

int main() {
   char str1[100], str2[100];
   int i = 0, flag = 0;

   printf("Enter string1: ");
   scanf("%s", str1);

   printf("Enter string2: ");
   scanf("%s", str2);

   // Loop till end of strings or a non-matching character is found
   while (str1[i] != '\0' && str2[i] != '\0') {
      if (str1[i] != str2[i]) {
         flag = 1;
         break;
      }

      i++;
   }

   // Check if both strings are equal or not
   if (flag == 0 && str1[i] == '\0' && str2[i] == '\0') {
      printf("Both strings are equal.");
   } else {
      printf("Both strings are not equal.");
   }

   return 0;
}

该程序使用 scanf() 函数来读取两个输入字符串,然后使用循环和条件语句比较它们。如果两个字符串都包含相同的字符并且具有相同的长度,则认为它们是相等的。

该程序的输出如下:

Enter string1: hello
Enter string2: world
Both strings are not equal.

这个程序可以比较任意长度的字符串,并且可以很容易地修改以满足不同的需求。