#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *a = "Hello ";
const char *b = "World";
printf("%s", strcat(a, b));
system("PAUSE");
return EXIT_SUCCESS;
}
最佳答案
因为您正在不属于自己的内存位置写入数据。
实际上,在运行strcat时,您是在字符串a的后面加上字符串b的字符,但是您还没有声明在字符串a后面加内存。