求助:大哥大姐帮我看下程序!

dxq120 2009-01-16 03:20:49
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

void main(int argc, char* argv[])
{
char m[]="abcdef",n[]="ghijklmnopqrstuvwsyz";
char *p=strcat(m,n);
int i;
cout<<m<<endl<<n<<endl;
cout<<strlen(m)<<endl;
cout<<p<<endl;
for(i=0;i<20;i++)
{
cout<<*(p+i);
}
cout<<endl;
}

这个为什么会报内存错误????
想了半天还是想不出来!
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxq120 2009-01-16
  • 打赏
  • 举报
回复
谢谢各位,是m大小不够了
submarine2007 2009-01-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 soldierluo 的回复:]
char *p=strcat(m,n);
======================
char p[100]={0};
strcpy(p,m);
strcat(p,n);

先声明后使用,m是const char装不下n了
[/Quote]

m 不是const char



chenyingshu 2009-01-16
  • 打赏
  • 举报
回复
把“#include "stdafx.h" ”删了,这是MFC的内容
把< <都换成<<
这样就好了
soldierluo 2009-01-16
  • 打赏
  • 举报
回复
char *p=strcat(m,n);
======================
char p[100]={0};
strcpy(p,m);
strcat(p,n);

先声明后使用,m是const char装不下n了
sxlengwa 2009-01-16
  • 打赏
  • 举报
回复
strcat(m,n);如果 m 放不了那么多字符的话,结果是我不知道的
insul 2009-01-16
  • 打赏
  • 举报
回复
自己调试
dxq120 2009-01-16
  • 打赏
  • 举报
回复
帮帮忙啊

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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