#include <stdio.h>
#include <stdlib.h>

int string_length(char * );
char * concatenate(char *, char * );

int main()
{
	char * A = (char *) malloc(sizeof(char) * 1000);
	char * B = (char *) malloc(sizeof(char) * 1000);
	char * C;
	printf("please enter two strings\n");
	scanf("%s %s", A, B);
	C = concatenate(A, B);
	printf("the new string is %s\n", C);
	free(C);
	free(B);
	free(A);
	return 0;
}

int string_length(char * inStr)
{
  int counter = 0;
  while(1)
  {
    if (inStr[counter] != 0)
    {
      counter++;
    }
    else
    {
      break;
    }
  }

  return counter;
}


char * concatenate(char * inA, char * inB)
{
	int length_A = string_length(inA);
	int length_B = string_length(inB);
	int length_temp = length_A + length_B;
	char * tempStr = (char *) malloc(sizeof(char) * (length_temp + 1));
	int i;
	for (i = 0; i < (length_temp + 1); i++)
	{
		if (i < length_A)
		{
			tempStr[i] = inA[i];
		}
		else
		{
			tempStr[i] = inB[i - length_A];
		}
	}
	return tempStr;
}

