#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;
}
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *a = Hello ;
Share
Because you are writing data at a memory location that you do not own.
Indeed, when running strcat, you are appending the characters of string b right after the characters of string a. But you haven’t claimed for the memory after the string a.