这个程序有什么作用啊?

分析以下程序运行结果,说明程序的作用。
#include "stdio.h"
char *strc(char *s1,char *s2)
{
char *p=s1;
while(*s2!='\0')
{
*p++=*s2++;
}
return s1;
}
void main()
{
char s1[30]="computer ok!",s2[]="language",*pt;
pt=strc(s1,s2);
printf("%s\n",pt);
}
(要求:
1、编译通过运行,分析程序运行结果
2、说明程序的作用)

1、这段代码没有问题,运行结果为language ok!
2、程序的作用就是当把s2的字符覆盖s1,当s2有空字符或者长度不够时,停止覆盖,返回s1的数据,computer 和 language 长度相同,所以computer被覆盖,但是后面 ok!仍然输出