逐渐简洁和抽象....
void copy0(char s1[], const char s2[])
{
int i ;
for (i = 0; s2[i] != '\0'; i++)
{
s1[i] = s2[i];
}
s1[i] = '\0';
}
void copy1(char *s1, const char *s2)
{
for (int i = 0; (s1[i] = s2[i]) != '\0'; i++);
}
void copy2(char *s1, const char *s2)
{
for (; (*s1 = *s2) != '\0'; *s1++, *s2++);
}