c语言:求救。。。为什么会运行错误

pengyao1207000001 2015-08-07 06:40:01
//求救。。。为什么会编译通过,却运行错误
//错误:
//测试.exe 中的 0x1027d322 (msvcr100d.dll) 处有未经处理的异常: 0xC0000005: 写入位置 0x00415744 时发生访问冲突
#include<string.h>
int main()
{
char* aa="1234";
strcat(aa,"123");
return 0;
}
//经测试是strcat()出现了问题,但我不知道为什么
//我用的是Microsoft Visual Studio 2010专业版
...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengyao1207000001 2015-08-07
  • 打赏
  • 举报
回复
谢谢了,问题解决!
wafstudio 2015-08-07
  • 打赏
  • 举报
回复

char* aa = new char(50);
sprintf(aa,"%S","1234");
strcat(aa,"123");
pengyao1207000001 2015-08-07
  • 打赏
  • 举报
回复
@wafstudio 但是我想用字符指针,该怎么做?
wafstudio 2015-08-07
  • 打赏
  • 举报
回复
strcat(d,s) 中 d和s所指内存区域不可以重叠且d必须有足够的空间来容纳s的字符串。 如下即可: char aa[50]="1234"; strcat(aa,"123");

70,037

社区成员

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

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