📅  最后修改于: 2023-12-03 15:35:54.183000             🧑  作者: Mango
在 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.
这个程序可以比较任意长度的字符串,并且可以很容易地修改以满足不同的需求。