1 //字符串比较自实现
2 //2017.3.7
3
4 #include <stdio.h>
5 #include <stdlib.h>
6 int MyStrcpy(char *p1,char *p2);
7 int main()
8 {
9 char str1[100];
10 char str2[100];
11
12 printf("请输入第一个字符串\n");
13 gets_s(str1);
14 printf("请输入第二个字符串\n");
15 gets_s(str2);
16
17 int n = MyStrcpy(str1, str2);
18 if (n == 0)
19 {
20 printf("两个字符串相等\n");
21 }
22 else if (n == -1)
23 {
24 printf("第二个字符串大\n");
25 }
26 else
27 {
28 printf("第一个字符串大\n");
29 }
30 system("pause");
31 return 1;
32 }
33
34 int MyStrcpy(char *p1, char *p2)
35 {
36 while (*p1 != '\0'&&*p2 != '\0')
37 {
38 if (*p1 - *p2 == 0)
39 {
40 p1++;
41 p2++;
42 }
43 else
44 {
45 if (*p1 - *p2 > 0)
46 {
47 return 1;
48 }
49 else
50 {
51 return -1;
52 }
53 }
54 }
55 //别漏掉了这种情况
56 if (*p1 == '\0')
57 {
58 if (*p2 == '\0')
59 {
60 return 0;
61 }
62 else
63 {
64 return -1;
65 }
66 }
67 else
68 {
69 return 1;
70 }
71 }
![](https://images2015.cnblogs.com/blog/936260/201703/936260-20170310225236764-443987401.png)