copy一个字符串(调试对了,但仍有疑问)

napoleonpan1 2003-08-19 01:47:43
#include<iostream.h>
void copy(char *x,char *y)
{
int k=0;
while(*x!='\0')//我把这行改成while((*x==*y)!='\0'),去掉下面一行,为什么调试
{ //错误,无message.
*x=*y;
y++;x++;
k++;
}
*y='\0';
cout<<y-k;//为什么打印出的不是地址值
}
void main()
{
char *a="i believe";
char *b="sorry seems to be";
copy(a,b);
}
...全文
40 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
point_to 2003-08-19
  • 打赏
  • 举报
回复
char *a="i believe";
char *b="sorry seems to be";

a,b是在静态存储区,是不可写的,所以有错误!
改成char a[]="i believe";
char b[]="sorry seems to be";
还有就是== -> = 试试!:)

jack_wq 2003-08-19
  • 打赏
  • 举报
回复
UP
csdn5211 2003-08-19
  • 打赏
  • 举报
回复
1、我把这行改成while((*x==*y)!='\0'),去掉下面一行,为什么调试
//错误,无message

这是因为==是判断*x和*y是否相等
2、cout<<y-k;//为什么打印出的不是地址值

因为cout对象已经把“<<”重载了,此时不会打印地址。


晨星 2003-08-19
  • 打赏
  • 举报
回复
应该是:((*x=*y)!='\0'),

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧