strcat(p, p) 不能正常运行的问题
程序代码:
#include<stdio.h>
#include<string.h>
int main(void)
{
char buffer[20] = "Hello";
strcat(buffer, buffer);
printf("%s", buffer);
return 0;
}
在阅读 bString 源代码时,文档提到了这一点。
使用 mingw32 编译并运行,gdb 调试结果为:
Program received signal SIGSEGV, Segmentation fault.
0x748b6ca9 in strcat () from C:\WINDOWS\SysWOW64\msvcrt.dll
这个问题肯定与内存重叠有关,请教下具体原因是什么。
使用 VS2019,调试时引发异常
0x79CCEE39 (ucrtbased.dll)处(位于 ConsoleApplication1.exe 中)引发的异常: 0xC0000005: 写入位置 0x00900000 时发生访问冲突。









为什么我的就不可以结果总是这样的Hello(���或者这样的Hello�n�