C语言请编程实现两个字符串的比较(不能使用库函数strcmp)
时间: 2024-01-07 17:04:59 浏览: 200
以下是C语言实现两个字符串比较的代码,该代码不能使用库函数strcmp:
```c
#include <stdio.h>
int CompareStr(char *str1, char *str2);
int main() {
char s1[20], s2[20];
gets(s1);
gets(s2);
if (CompareStr(s1, s2) > 0)
printf("%s比%s大\n", s1, s2);
else if (CompareStr(s1, s2) < 0)
printf("%s比%s小\n", s1, s2);
else
printf("%s与%s相等\n", s1, s2);
return 0;
}
int CompareStr(char *str1, char *str2) {
do {
if (*str1 > *str2)
return 1;
else if (*str1 < *str2)
return -1;
} while ((*str1++) && (*str2++));
return 0;
}
```
相关问题
用c语言请编程实现两个字符串的比较(不能使用库函数strcmp)
以下是两种用C语言实现字符串比较的方法,不使用库函数strcmp:
1.使用字符数组
```c
#include <stdio.h>
int Compare(char str1[], char str2[]);
int main() {
char str1[80], str2[80];
printf("请输入字符串1:\n");
gets(str1);
printf("请输入字符串2:\n");
gets(str2);
if (Compare(str1, str2) == -1)
printf("字符串1大于字符串2");
else if (Compare(str1, str2) == 0)
printf("字符串1等于字符串2");
else
printf("字符串1小于字符串2");
}
int Compare(char str1[], char str2[]) {
int i = 0;
while (str1[i] != '\0' && str2[i] != '\0') {
if (str1[i] > str2[i])
return -1;
else if (str1[i] < str2[i])
return 1;
i++;
}
if (str1[i] == '\0' && str2[i] == '\0')
return 0;
else if (str1[i] == '\0')
return 1;
else
return -1;
}
```
2.使用指针
```c
#include <stdio.h>
int CompareStr(char *str1, char *str2);
int main() {
char s1[20], s2[20];
gets(s1);
gets(s2);
if (CompareStr(s1, s2) > 0)
printf("%s比%s大\n", s1, s2);
else if (CompareStr(s1, s2) < 0)
printf("%s比%s小\n", s1, s2);
else
printf("%s与%s相等\n", s1, s2);
}
int CompareStr(char *str1, char *str2) {
while (*str1 != '\0' && *str2 != '\0') {
if (*str1 > *str2)
return 1;
else if (*str1 < *str2)
return -1;
str1++;
str2++;
}
if (*str1 == '\0' && *str2 == '\0')
return 0;
else if (*str1 == '\0')
return -1;
else
return 1;
}
```
请编程实现两个字符串的比较(不能使用库函数strcmp),c语言
以下是C语言实现两个字符串比较的代码,该代码不能使用库函数strcmp:
```c
#include <stdio.h>
int CompareStr(char *str1, char *str2);
int main() {
char s1[20], s2[20];
gets(s1);
gets(s2);
if (CompareStr(s1, s2) > 0)
printf("%s比%s大\n", s1, s2);
else if (CompareStr(s1, s2) < 0)
printf("%s比%s小\n", s1, s2);
else
printf("%s与%s相等\n", s1, s2);
return 0;
}
int CompareStr(char *str1, char *str2) {
do {
if (*str1 > *str2)
return 1;
else if (*str1 < *str2)
return -1;
} while ((*str1++) && (*str2++));
return 0;
}
```
阅读全文