| 
         
          #include <stdio.h> 
          #include <stdlib.h> 
          #include <string.h> 
          static char *str_cpy(char *dest, const char *src) 
          { 
              int i = 0; 
              while(*dest++ = *src++); 
              return dest; 
          } 
          char str_rev(char *s) 
          { 
               
              char *d = s + strlen(s) - 1; 
              char temp; 
              while(d > s) 
              { 
                  temp = *d; 
                  *d = *s; 
                  *s = temp; 
                  d--; 
                  s++; 
              } 
               
          } 
          static int str_len(const char *s) 
          { 
              int len = 0; 
              while(*s++) 
                  len++; 
              return len; 
          } 
           
          static char *str_cat(char *dest, const char *src) 
          { 
              char *const old = dest; 
              while(*dest) 
                  dest++; 
              while(*dest++ = *src++); 
              return old; 
          } 
          /*static int str_cmp(const char *dst, const char *src) 
          {    int i = 0; 
              while(*(dst + i) == *(src + i))     
              { 
                  if(*(src+i) == '\0') 
                      return 0; 
                  i++; 
              } 
              if(*dst > *src) 
                  return 1; 
              else 
                  return -1; 
          }*/ 
          int str_cmp(const char * cs, const char * ct) 
          { 
              signed char __res; 
              while(1) 
              { 
                  if((__res = *cs - *ct++) != 0 || !cs++) 
                      break; 
              } 
              return __res; 
          } 
           
          int main(void) 
          { 
              char a[20]="hello"; 
              char b[10]; 
              char c[]="hellz"; 
           
              str_cpy(b,a); 
              printf("str_cpy:b<-a:%s \n", b); 
           
              str_rev(a); 
              printf("str_rev:a=%s \n", a); 
           
              printf("str_cmp:%d \n",str_cmp(a, c)); 
           
              str_len(b);     
              printf("str_len:b=%d \n", str_len(b)); 
               
              printf("strcat:a+b:%s \n", str_cat(a,c)); 
           
              return 0; 
          } 
         
       |