C语言判断两个字符数组相等
时间: 2025-06-05 18:15:56 浏览: 30
### C语言中比较两个字符数组是否相等的方法
在C语言中,可以通过多种方式来判断两个字符数组(字符串)是否相等。一种方法是通过逐个字符对比直到遇到终止符 `\0` 来实现自定义函数逻辑[^1]。
另一种更为简便的方式则是利用标准库提供的 `strcmp()` 函数来进行比较操作。此函数会按照字典顺序依次比较两个字符串中的对应字符直至发现不匹配之处或是到达任一串的结尾为止。当两串完全一致时,该函数返回零值;反之则给出非零数值以指示差异的存在[^2]。
下面是基于上述两种思路的具体代码实例:
#### 自定义比较函数
```c
#include <stdio.h>
int main() {
int i = 0;
char str1[100], str2[100];
// 输入两个字符串
scanf("%99s", str1);
scanf("%99s", str2);
// 循环遍历并逐一比较各位置上的字符
while (str1[i] != '\0' && str2[i] != '\0' && str1[i] == str2[i]) {
++i;
}
// 判断最终状态决定输出结果
if (str1[i] == '\0' && str2[i] == '\0') {
printf("Same\n");
} else {
printf("Different\n");
}
return 0;
}
```
#### 使用标准库函数 `strcmp`
```c
#include <stdio.h>
#include <string.h> // 需要引入 string.h 头文件才能使用 strcmp()
int main() {
char str1[100], str2[100];
// 获取用户输入的两个字符串
scanf("%99s", str1);
scanf("%99s", str2);
// 调用 strcmp 进行比较,并依据其返回值得到结论
if (strcmp(str1, str2) == 0) {
puts("Same");
} else {
puts("Different");
}
return 0;
}
```
阅读全文
相关推荐


















