strcpy 实现
1 #include<stdio.h>
2 #include<assert.h>
3
4 char *strcpy(char*strDest,const char*strSrc)
5 {
6 assert(strDest!=NULL&&strSrc!=NULL);
7 char * addr = strDest;
8 while( *strSrc!='\0')
9 *strDest++ = *strSrc++;
10 *strDest = '\0';
11 return addr;
12 }
13
14 int main()
15 {
16 const char a[] = "Hello world zm!";
17 char b[16];//(已改正,下面的朋友说得对,如果是15是非法的内存操作)这里15要小心,b长度<a长度 就是非法的内存访问
18 printf("%d\n",strlen(strcpy(b,a)));
19 printf("%s\n",b);
20 return 0;
21 }
2 #include<assert.h>
3
4 char *strcpy(char*strDest,const char*strSrc)
5 {
6 assert(strDest!=NULL&&strSrc!=NULL);
7 char * addr = strDest;
8 while( *strSrc!='\0')
9 *strDest++ = *strSrc++;
10 *strDest = '\0';
11 return addr;
12 }
13
14 int main()
15 {
16 const char a[] = "Hello world zm!";
17 char b[16];//(已改正,下面的朋友说得对,如果是15是非法的内存操作)这里15要小心,b长度<a长度 就是非法的内存访问
18 printf("%d\n",strlen(strcpy(b,a)));
19 printf("%s\n",b);
20 return 0;
21 }

浙公网安备 33010602011771号