| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1084 人关注过本帖
标题:字符串复制问题,帮看下
只看楼主 加入收藏
jackyhc
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-9-12
收藏
 问题点数:0 回复次数:12 
字符串复制问题,帮看下

#include<stdio.h> char *cpy(char *strDest, const char *strSrc) { char *p3; while((*strDest=*strSrc)!='\0') { strDest++; strSrc++; } p3=strDest; return p3; }

void main() { char *p1,*p2; char a[]={"china"}; p1=a; cpy(p2,p1); printf("%s",p2); } 运行有错误,程序的目的是字符串的复制,帮忙看下,哪里的问题,谢谢

搜索更多相关主题的帖子: char 字符 strDest strSrc cpy 
2005-09-23 16:59
jackrain
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2005-9-4
收藏
得分:0 
p2只是个指针,程序没有分配要存放字符串的内存。

程序和身体一样,健壮,再健壮! 我爱C++
2005-09-23 17:01
jackyhc
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-9-12
收藏
得分:0 
cpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?

1234,5678...
2005-09-23 17:03
jackrain
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2005-9-4
收藏
得分:0 
晕,刚才一直打不开网页。
返回char*为了用strlen函数。数组是不能用这个函数的,但是string可以。

比如
char buffer[20];
int len = strlen(cpy(buffer, ****));

程序和身体一样,健壮,再健壮! 我爱C++
2005-09-23 17:19
wxf
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-9-24
收藏
得分:0 
P2是实参,但你没 给他赋值!
2005-09-24 22:04
wxf
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-9-24
收藏
得分:0 

#include<stdio.h> char *cpy( const char *strSrc) { char p3[10]; int i=0; while(*strSrc!='\0') { p3[i]=*strSrc; i+=1; strSrc++; }

return p3; }

void main() { char *p1,*p2; char a[]={"china"}; p1=a; p2= cpy(p1); printf("%s",p2); } 以上是我把你的代码作了一下修改,没问题了,可以运行了!

2005-09-24 22:10
wxf
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-9-24
收藏
得分:0 
2005-09-24 22:11
woshiyfk
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2005-3-2
收藏
得分:0 
为什么要有返回值,指针直接作用于地址,要返回值有啥用

2005-09-25 10:29
jackyhc
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-9-12
收藏
得分:0 
返回值还是没有理解,程序理解了,原来是没有分配内存的原因

1234,5678...
2005-09-27 08:57
m_pzhang
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-9-27
收藏
得分:0 
改进了一下,已运行通过

#include<stdio.h> void cpy(char *strDest, char *strSrc) { int i=0; while(*strSrc!='\0') { *(strDest+i)=*strSrc; i+=1; strSrc++; } *(strDest+i)='\0';

}

void main() { char *p1; char *p2; char a[]={"china"}; p1=a; cpy(p2,p1); printf("%s",p2); }

2005-09-27 20:45
快速回复:字符串复制问题,帮看下
数据加载中...
 
   



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

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