//一、数组版本 int stringLength(char arr[]) { int i =0; while(arr[i]) i++; return i; } char *stringCopy(char arr1[],char arr2[]) { int i = 0; while((arr1[i] = arr2[i]) !='\0') i++; return arr1[]; } char *stringCatch(char arr1[],char arr2[]) { int i =0, j =0; while(arr1[i]) i++; while((arr1[i + j] = arr2[j]) !='\0') j++; return arr1; } int stringCompare(char arr1[],char arr2[]) { int i = 0; while(arr1[i] == arr2[i]) { if(!arr1[i]) return 0; i++; } returnarr1[i] - arr2[i]; } //二、指针版本 int stringLength(char *s) { int i =0; while(*s++) i++; return i; } void stringCopy(char *s,char *t) { while((*s++ = *t++)); } //stringCatch方法,这里假设 s的空间足够大,’\0’之后的内存存储的都是’\0' void stringCatch(char *s,char *t) { // for( ; *t != '\0'; s++) { // if(*s == '\0') { // *s = *t; // t++; // } // } while (*t) { if (!*s) { *s = *t; t++; } s++; } } int stringCompare(char *s,char *t) { int i = 0; for( ; *s == *t; s++, t++) if(*s == '\0') return 0; return *s - *t; }