1.用指针实现strlen、strcpy、strcat、strcmp
代码:
#include <stdio.h>
 #include <string.h>
 int mystrlen(char *str);
 int mystrcmp(char *str1,char *str2);
 char *mystrcat(char *str1,char *str2);
 char *mystrcpy(char *str1,char *str2);
 int main(int argc, const char *argv[])
 {
    char arr[30] = "";
     char brr[30] = "";
     gets(arr);
     gets(brr);
     printf("len: %d %d\n",mystrlen(arr),mystrlen(brr));
     printf("cmp: %d\n",mystrcmp(arr,brr));
     mystrcat(arr,brr);
     printf("cat: %s\n",arr);
     printf("cpy:\n");
     mystrcpy(arr,brr);
     puts(arr);
     puts(brr);
     return 0;
 }
int mystrlen(char *str)
 {
     char *p=str;
     int i=0,n=0;
     for(i=0;*(p+i)!='\0';i++)
     {
         n++;
     }    
     return n;
 }
int mystrcmp(char *str1,char *str2)
 {
     int result=0;
     while(*str1 !='\0' || *str2 != '\0'  )
     {
         if(*str1 != *str2)
         {
             result = *str1-*str2;
             break;
         }
         str1++;
         str2++;
     }
     return result;
 }
char *mystrcpy(char *str1,char *str2)
 {
     char *cp = str1;
     while(*cp++ = *str2++);
     return str1;
 }
char *mystrcat(char *str1,char *str2)
 {
     char *pa = str1;
     char *pb = str2;
     while(*str1 !=0)
     {
         str1++;
     }
     for(;*str2 !=0;str1++,str2++)
     {
         *str1 = *str2;
     }
     return  str1;
 }
2.写一个swap函数实现两数交换
代码:
#include<stdio.h>
 #include<string.h>
 void swap(int *a,int *b)
 {
     int t;
     t=*a;
     *a=*b;
     *b=t;
 }
 int main(int argc,const char *argv[])
 {
     int a=10,b=20;
     swap(&a,&b);
     printf("a=%d,b=%d\n",a,b);    
     return 0;
 }

