char *fun(char *c,char *d)
{
char *p = c;
while(*c++);
c--;
while(*d++)
*c++ = *d;
*c = 0;
return p;
}
主要问题是c一直在向后移动,你最后return c肯定不对了。用一个指针记录最初始的c位置才行
而且第二个while循环,你的c指针都不移动,肯定也不对
最后是第一个循环后,c已经指向了字符串结束符之后啦,需要c--向前移动一个位置,才能覆盖c本身的字符串结束符
while(*c++)之后,c指针停留在\0的后一个位置
改成while(*++c)