#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;
}
views:
92answers:
2
                +2 
                A: 
                
                
              
            When you are concatenating b to a you are writing into memory you didn't allocate,
                  Alon
                   2010-01-14 08:19:26
                
              
                +7 
                A: 
                
                
              
            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.
                  Didier Trosset
                   2010-01-14 08:19:55