字符串比较不使用strcmp
时间: 2024-11-04 15:09:07 浏览: 8
字符串比较不使用`strcmp()`函数的情况通常出现在不需要依赖特定操作系统库函数或者需要实现自定义比较逻辑的时候。例如,在C++中,你可以使用标准库提供的`std::compare()`函数,或者直接通过逐字符比较的方式,如遍历两个字符串并比较它们对应的字符是否相等。以下是一个简单的示例:
```cpp
#include <string>
bool compareStrings(const std::string& str1, const std::string& str2) {
if (str1.length() != str2.length()) {
return false;
}
for (size_t i = 0; i < str1.length(); ++i) {
if (str1[i] != str2[i]) {
return false;
}
}
return true;
}
// 使用方法
if (!compareStrings("hello", "world")) {
// 字符串不相等
}
```
相关问题
C语言编写字符串比较函数代替strcmp
```c
#include <stdio.h>
int my_strcmp(const char *string1, const char *string2) {
while (*string1 && *string2 && *string1 == *string2) {
string1++;
string2++;
}
return *string1 - *string2;
}
int main() {
printf("%d\n", my_strcmp("abcefg", "abcd")); // 输出:1,第一个字符串大于第二个字符串
printf("%d\n", my_strcmp("abc", "abc")); // 输出:0,第一个字符串等于第二个字符串
printf("%d\n", my_strcmp("abc", "abcd")); // 输出:-1,第一个字符串小于第二个字符串
return 0;
}
```
输入俩个字符串,输出其中较大的一个字符串,.使用 strcmp 函数
好的,您可以使用 `strcmp()` 函数实现这个功能。`strcmp()` 函数是 C 语言中的一个字符串比较函数,可以用来比较两个字符串的大小。
下面是使用 `strcmp()` 函数的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
int result;
printf("请输入第一个字符串:");
gets(str1);
printf("请输入第二个字符串:");
gets(str2);
result = strcmp(str1, str2);
if (result >= 0) {
printf("%s 比 %s 大\n", str1, str2);
} else {
printf("%s 比 %s 大\n", str2, str1);
}
return 0;
}
```
在这个程序中,我们使用 `gets()` 函数从用户输入中获取两个字符串,并使用 `strcmp()` 函数比较它们的大小。如果 `result` 大于等于 0,则表示第一个字符串比第二个字符串大,反之则表示第二个字符串比第一个字符串大。最后,我们根据比较结果输出较大的那个字符串。
注意:`gets()` 函数存在安全问题,不建议在实际代码中使用,可以使用 `fgets()` 函数代替。
阅读全文