使用指针改写string函数族
#include <stdio.h>
int main(int argc, const char *argv[])
{
char a[100]="hello";
char b[100]="world";
int i,j,res;
/***************strlen******************/
char*pa=a;
for(i=0;*(pa+i)!='\0';i++)
{
}
printf("len=%d\n",i);
/****************strcpy******************/
char*pb=b;
for(i=0,j=0;;i++,j++)
{
*(pa+i)=*(pb+j);
if(*(pb+j)=='\0')
break;
}
printf("a=%s\n",a);
/****************strcmp*******************/
char c[100]="hello";
char d[100]="world";
char*pc=c;
char*pd=d;
for(i=0,j=0;;i++,j++)
{
res=*(pc+i)-*(pd+j);
if(*(pc+i)!=*(pd+j))
break;
else if(*(pc+i)=='\0')
break;
}
printf("res=%d\n",res);
/****************strcat*******************/
char e[100]="hello";
char f[100]="world";
char*pe=e;
char*pf=f;
for(i=0;*(pe+i)!='\0';i++)
{
}
for(j=0;*(pf+j)!='\0';j++,i++)
{
*(pe+i)=*(pf+j);
}
*(pf+j)='\0';
printf("e=%s\n",e);
return 0;
}
运行结果: