c 语言两个字符串比较 不用strcmp
时间: 2023-08-31 12:08:13 浏览: 100
要比较两个字符串而不使用strcmp函数,你可以使用循环来逐个比较字符串中的字符。下面是一个示例代码:
```c
#include <stdio.h>
int compareStrings(const char* str1, const char* str2) {
int i = 0;
while (str1[i] != '\0' || str2[i] != '\0') {
if (str1[i] != str2[i]) {
return 0; // 字符不相等,返回0
}
i++;
}
return 1; // 字符串相等,返回1
}
int main() {
const char* str1 = "Hello";
const char* str2 = "Hello";
if (compareStrings(str1, str2)) {
printf("两个字符串相等\n");
} else {
printf("两个字符串不相等\n");
}
return 0;
}
```
在上面的示例中,`compareStrings`函数会逐个比较两个字符串中的字符。如果在比较过程中遇到不相等的字符,它会立即返回0表示不相等。如果整个字符串都比较完毕且没有遇到不相等的字符,则返回1表示相等。
注意,在实际编程中,你可能还需要考虑字符串长度不一致的情况,并且要确保字符串以空字符 '\0' 结尾。
阅读全文