为什么调用函数以后不能输出了?
#include
int main()
{
void copy_string(char *from,char *to);
char *a="I am a student.";
char *b="You are a teacher.";
printf("string a is:%s\n",a);
printf("string b is:%s\n",b);
copy_string(a,b);
printf("After copying:\n");
printf("string a is:%s\n",a);
printf("string b is:%s\n",b);
return 0;
}
void copy_string(char *from,char *to)
{
while(*from!='\0')
{
*to=*from;
from++;
to++;
}
*to='\0';
}
这种char *定义字符串的方式是只读的,也就是说你的字符串是个常量,无法改变。用char数组。
有帮助的话采纳一下哦!
char b[] = "You are a teacher.";
如果a比b字符多的话,要给b足够的内存空间,要用char b[100]="xxx";