#include <stdio.h> void mystrcpy(char *pstr1,char *pstr2) { int i=0; while(*(pstr2+i)!='\0') { *(pstr1+i)=*(pstr2+i); i++; } *(pstr1+i)='\0'; } int mystrlen(char *pstr) { char *pstr=str; while(*pstr!='\0') { pstr++; } return pstr-str; } void mystrcmp(char *pstr1,char *pstr2) { int i=0,res; for(i=0;*(pstr1+i)!='\0'||*(pstr2+i)!='\0';i++) { res=*(pstr1)-*(pstr2); if(res!=0) { break; } } printf("%d\n",res); } void mystrcat(char *pstr1,char *pstr2) { int i=0,j=0,k=0; while(*(pstr1+i)!='\0') { i++; } for(k=i,j=0;*(pstr2+j)!='\0';k++,j++) { *(pstr1+k)=*(pstr2+j); } } int main(int argc, const char *argv[]) { char str1[32]="hello"; char str2[32]="word"; char *pstr1=str1; char *pstr2=str2; mystrcmp(pstr1,pstr2); int len=mystrlen(pstr1); printf("len=%d\n",len); // mystrcpy(pstr1,pstr2); // printf("%s\n",str1); mystrcat(pstr1,pstr2); printf("%s\n",str1); return 0; }
C高级(用指针改写strlen,strcpy,strcmp,strcat函数)
于 2024-01-22 19:33:34 首次发布