用c++写程序,实现两个字符串比较的自定义版
时间: 2024-04-30 11:20:00 浏览: 21
以下是一个用 C 语言实现的字符串比较自定义版的示例程序:
``` c
#include <stdio.h>
int my_strcmp(char *s1, char *s2) {
while (*s1 != '\0' && *s2 != '\0') { // 比较两个字符串的每个字符
if (*s1 != *s2) {
return (*s1 - *s2); // 如果不相等,返回它们的 ASCII 码差值
}
s1++;
s2++;
}
return (*s1 - *s2); // 如果到达了字符串末尾,返回它们的长度差值
}
int main() {
char str1[100], str2[100];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
int result = my_strcmp(str1, str2);
if (result == 0) {
printf("两个字符串相等\n");
}
else if (result > 0) {
printf("第一个字符串大于第二个字符串\n");
}
else {
printf("第一个字符串小于第二个字符串\n");
}
return 0;
}
```
这个程序中,我们定义了一个名为 `my_strcmp` 的函数,接受两个指向字符数组的指针 `s1` 和 `s2`,并返回它们的比较结果。在这个函数中,我们使用了一个 `while` 循环来比较两个字符串的每个字符,如果它们不相等,就返回它们的 ASCII 码差值;如果到达了字符串末尾,就返回它们的长度差值。
在 `main` 函数中,我们使用 `scanf` 函数从标准输入读取两个字符串,并调用 `my_strcmp` 函数来比较它们。最后,根据比较结果输出相应的信息。