#include
char *fun(char *,char *);
int main (void)
{
char words[10];
char a[20]={"hello world"};
printf("%s",fun(words,a));
}
char *fun(char *s1,char *s2)
{
char *p=s1;
while(*s2!='\0')
*s1++=*s2++;
*s1='\0';
return p;
}
为什么在被调函数里要定义一个指针p,这样的原理是什么?
为什么不能直接返回s1?也就是
#include
char *fun(char *,char *);
int main (void)
{
char words[10];
char a[20]={"hello world"};
printf("%s",fun(words,a));
}
char *fun(char *s1,char *s2)
{
while(*s2!='\0')
*s1++=*s2++;
*s1='\0';
return s1;
}
这样是错的