首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

大家帮忙看看这个程序有关问题在哪

2012-03-17 
大家帮忙看看这个程序问题在哪?#includestdio.hvoid copy_string(char *from, char *to){for(*from!\

大家帮忙看看这个程序问题在哪?
#include<stdio.h>
void copy_string(char *from, char *to)
{
for(;*from!='\0';from++,to++)
*to=*from;
*to='\0';
}
main()

char *a="I am a teacher.";
char *b="I am a student.";
printf("%s\n%s\n",a,b);
copy_string(a,b);
printf("%s\n%s\n",a,b);
}
输出结果:
I am a teacher.
I am a student.
并且弹出以下窗口:XX.exe-应用程序错误
"0x0040105e"指令引用的"0x00422024"内存。该内存不能为"written"。

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

a 和 b 存放在只读区域,不能被修改
可以改为数组
[解决办法]
char *a="I am a teacher.";
"I am a teacher.";是文本字符串常量。
存入内存后它就算是常量了,因为已经使用一个non-const pointer to char指向它了。就不可以改变了

热点排行