1、strlen()求字符串长度
1 //模拟实现strlen函数
2 #include<stdio.h>
3 #include<stdlib.h>
4 #include<string.h>
5 #include<assert.h>
6 int my_strlen1(const char* str) //借助临时变量实现
7 {
8 int count = 0;
9 while (*str++)
10 {
11 count++;
13 }
14 return count;
15 }
16 int my_strlen2(char* s)
17 {
18 char* p = s;
19 /*while (*p != ' ')
20 p++;*/
21 while (*p++);
22 return p - s - 1;
23 }
24 int my_strlen3(char* str) //递归法
25 {
26 if (!*str)
27 return 0;
28 else
29 return 1 + my_strlen3(str + 1);
30 }
31 int main()
32 {
33 char src[] = "qwertyuiop";
34 int num1 = my_strlen1(src);
35 int num2 = my_strlen2(src);
36 int num3 = my_strlen3(src);
37 printf("%d
", num1);
38 printf("%d
", num2);
39 printf("%d
", num3);
40 getchar();
41 return 0;
42 }
2、strcpy()字符串拷贝函数
1 char* my_strcopy1(char* dest, const char* str)
2 {
3 assert(dest != NULL);
4 assert(str != NULL);
5 char* ret = dest;
6 while (*dest++ = *str++)
7 {
8 ;
9 }
10 return ret;
11 }
12 char* my_strcopy2(char* dest, const char* str)
13 {
14 assert(dest != NULL);
15 assert(str != NULL);
16 char* ret = dest;
17 while (*str != '