| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2263 人关注过本帖
标题:[求助]使用strcpy函数时出现内存不能为读的问题~~
只看楼主 加入收藏
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
收藏
 问题点数:0 回复次数:20 
[求助]使用strcpy函数时出现内存不能为读的问题~~
#include<stdio.h>
#include<string.h>
void main()
{
char a[10]="HOLLAND";
char b[]="CHINA";
strcpy(a,b);
printf("%s",a[10]);
}
刚复习了字符串函数,就自己编了这个,运行时出现了问题,请大家看看
明明编译,构件都没有问题,但在运行时却出现内存不能为读的情况
请知道的朋友帮忙一下,其实我在玩游戏时也经常出现内存不能为读的情况,
也许精通C语言能朋友能帮我解答一下,谢谢~~~~
搜索更多相关主题的帖子: 内存 strcpy include 游戏 
2007-05-29 22:31
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
收藏
得分:0 
在线等待中.........

老师领进门,成长靠自己+虚心
2007-05-29 22:42
夜中梦
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2007-5-12
收藏
得分:0 

我也不知道为什么,知道的朋友快回答啊


2007-05-29 23:01
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
收藏
得分:0 
你运行这个程序时也出现内存不能为读的问题吗?
会不会是我的内存有问题??

老师领进门,成长靠自己+虚心
2007-05-29 23:05
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

#include<stdio.h>
#include<string.h>
void main()
{
char a[10]="HOLLAND";
char b[]="CHINA";
strcpy(a,b);
printf("%s",a[10]); /*a[10]不是一个地址变量,a[10]也超出了数组范围*/
}

可以这样.
#include<stdio.h>
#include<conio.h>
void main()
{
char a[10]="HOLLAND";
clrscr();
printf("%s",&a[2]);
getch();
}


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-05-29 23:15
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
收藏
得分:0 
不好意思,不太明白......

老师领进门,成长靠自己+虚心
2007-05-29 23:39
yangzhifu
Rank: 1
等 级:新手上路
威 望:2
帖 子:433
专家分:0
注 册:2007-4-11
收藏
得分:0 
那我以(%s,a)的形式输出啊

方寸之内,剖天下; 方坛之内,析自我;
2007-05-29 23:45
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
#include<stdio.h>
#include<string.h>
void main()
{
char a[10]="HOLLAND";
char b[]="CHINA";
strcpy(a,b);
printf("%s",a);//这里改一下


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-29 23:50
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
以下是引用crz03128在2007-5-29 23:39:21的发言:
不好意思,不太明白......

也就是说 printf("%s",...);这是输出字符串,当然就要给出串首地址了,
而你程序中的a[10]是一个字符类型值.这就不符合格式输出的要求了.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-05-29 23:51
小子也大叔
Rank: 2
等 级:新手上路
威 望:4
帖 子:143
专家分:0
注 册:2007-4-23
收藏
得分:0 
这个是LZ的程序:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char a[10]="HOLLAND";
char b[]="CHINA";
strcpy(a,b);
printf("%s",a[10]);

system("pause");
return 0;
}

LZ的问题就是象大家说的那样--当用%s输出字符串的时候 需要告知地址 及如:&a[10](暂且不说对不对) 

你们可以把上面那个printf语句写出很多种形式
下面是我改的:

printf("%s",a);
printf("%s",&a[0]);
printf("%s",&a[1]);
printf("%s",&a[4]);
printf("%c",&a[0]);
printf("%c",&a[4]);
printf("%s",&a[10]);
printf("%c",&a[10]);

大家自己运行看看吧   不懂可以上来问...


希望一心想学c的加我的群吧~~ 40834003
2007-05-30 00:20
快速回复:[求助]使用strcpy函数时出现内存不能为读的问题~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049913 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved