2 strings are given, second word will be append to first one and 3rd variable will store this. For example;
char *str1 = "abc";
char *str2 = "def";
char *str3 = "abcdef"; //should be
Here is my code, I get runtime error:
#include <stdio.h>
#include <malloc.h>
void append(char *str1, char *str2, char *str3, int size1, int size2)
{
    int i=0;
    str3 = (char*) malloc(size1+size2+1);
    str3 = str1;
    while (str2[i] != '\0') {
        str3[i+size1] = str2[i];
        i++;
    }
    str3[size1+size2] = '\0';
}
int main() 
{
    char *str1 = "abc";
    char *str2 = "def";
    char *str3;
    append(str1, str2, str3, 3, 3);
    return 0;
}
 
     
     
     
     
    