自定义strcpy()函数
#include <stdio.h>
#include <string.h>
void my_strcpy(char *arr1, const char *arr2) {
while (*arr2 != '\0') {
*arr1 = *arr2;
arr1++;
arr2++;
}
*arr1 = *arr2;
}
int main() {
char arr[10] = "abcdefg";
char arr2[] = "zzzzzzz";
my_strcpy(arr, arr2);
printf("%s", arr);
return 0;
}
优化
char *my_strcpy(char *arr1, const char *arr2) {
assert(arr2 != NULL);
assert(arr1 != NULL);
char *ret = arr1;
while (*arr1++ = *arr2++) {
}
return ret;
}
int main() {
char arr[] = "abcdefghijklmn";
char arr2[] = "hhhhhhhh";
printf("%s", my_strcpy(arr, arr2));
return 0;
}