代码
先用空指针接收str1的地址,里面存放的就是str1的首元素地址
对str1进行解引用,直到*str1指针访问到"\0",跳出循环,此时我们的指针指向的是"\0"
*str1++ = *str2++,先将str2第一个元素的地址赋值给刚刚str1指针指向的位置(即"\0"的位置),然后两个指针向后移一位,如此循环,直到strl2把自己的"\0"赋值给str1,循环结束
此时返回ret指针指向的str1首元素的地址即可
#include<stdio.h>
//自拟实现strcat函数
char* myStrcat(char*str1,const char*str2) {
char* ret = str1;
while (*str1) {
str1++;
}
while (*str1++ = *str2++) {
}
return ret;
}