复制字符串,这为啥运行不出来呀

#include<stdio.h>
int main()
{ void copy( char *from, char *to);
char * a=" i am a teacher";
char b=" i am a student";
printf("%s\n%s\n",a,b);
printf(" copy:\n");
copy(a,b);
printf("%s\n%s",a,b);
return 0;
}
void copy( char from, char to)
{ for(;
from!='\0'; from++, to++)
{
to=
from;}

  • to='\0';}

因为a和b都是常量,没法改变,修改方法:
char* a = ".."改成char a[100] = "..";
char* b= "..";改成char b[100] = "..";

#include<stdio.h>
int main()
{ 
    void copy( char *from, char *to);
    char a[100]=" i am a teacher";
    char b[100]=" i am a student";
    printf("%s\n%s\n",a,b);
    printf(" copy:\n");
    copy(a,b);
    printf("%s\n%s",a,b);
    return 0;
}
void copy( char* from, char* to)
{ 
    for(; *from!='\0'; from++, to++)
    { 
        *to= *from;
    }
    to='\0';
}