读书人

这小程序错哪了呢

发布时间: 2012-03-14 12:01:13 作者: rapoo

这小程序哪里错了呢?
#include <stdio.h>

void copy_string(char *from,char *to)
{
for(;*from!= '\0 ';from++,to++)
{
*to=*from;
}
*to= '\0 ';
{

}
}

void main()
{
char *a= "I am a teacher. ";
char *b= "you are a student. ";
printf( "string a=%s\nstring b=%s\n ",a,b);
copy_string(a,b);
printf( "string a=%s\nstring b=%s\n ",a,b);
}

以我的智商加上浅陋的功底是在找不出错误了...

高人指点..谢

compiled under VC6.0


[解决办法]
char *a= "I am a teacher. ";
char *b= "you are a student. ";

指针a,b的内容不允许修改

用字符数组。
[解决办法]
char *a= "I am a teacher. ";
------
表示指针a指向常量区(内容为 "I am a teacher. ")地址
这块内存是不能修改的

可以这样:char a[80]={ "I am a teacher. "};

[解决办法]
#include <stdio.h>

void copy_string(char *from,char *to)
{
for(;*from!= '\0 ';from++,to++)
{
*to=*from;
}
*to= '\0 ';
{

}
}

void main()
{
//char *a= "I am a teacher. ";通常常量串不允许更改
char a[100]= "I am a teacher. ";
//char *b= "you are a student. ";
char b[100]= "you are a student. ";
printf( "string a=%s\nstring b=%s\n ",a,b);
copy_string(a,b);
printf( "string a=%s\nstring b=%s\n ",a,b);
}

读书人网 >C语言

热点推荐