C言語標準ライブラリ関数strcpyとstrcmpの簡単な実現

4500 ワード

 1 //C       strcpy       。
 2 
 3 //   :      。
 4 
 5 //         ANSI-C99      ,          ,   NULL。
 6 
 7 //  :des      ,source     。
 8 
 9 char* strcpy(char* des,const char* source)
10 {
11     char* r=des;
12  
13     assert((des != NULL) && (source != NULL));
14 
15     while((*des++ = *source++)!='\0');
16 
17     return r;
18 }
19 
20 //while((*des++=*source++));   :           ,     NULL ,    。
 1 //C       strcmp       
 2 
 3 //    s1s2 ,    
 4 
 5 //  :   str1,str2
 6 
 7 int strcmp(const char *str1,const char *str2)
 8 {
 9     /*   while(*str1++==*str2++)   ,           ++,
10     return               。  ++        。*/
11     while(*str1 == *str2)
12     {
13         if(*str1 == '\0')
14             return 0;
15          
16         str1++;
17         str2++;
18     }
19     return *str1 - *str2;
20 }

 
転載先:https://www.cnblogs.com/shfanzie/p/5207732.html