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

char* str_cat(char *strA, char *strB){
	int tamanho = strlen(strA) + strlen(strB) + 1; // define o tamanho das strings (+1 por conta do '\0')
	
	char* concatena = malloc(tamanho * sizeof(char)); // cria um vetor concatena que vai receber os valores das strings
	
	if(concatena == NULL){ // verifica se o vetor concatena tem memória
		printf("Não há memória suficiente!\n");
		exit(1);
	}
	
	int k = 0; // inicialização
	
	for(int i = 0; strA[i] != '\0'; i++) // percorre o for até o elemento '\0' que representa o final
		concatena[k++] = strA[i]; // adiciona no vetor concatena as strings de a
		
	
	for(int j = 0; strB[j] != '\0'; j++) // percorre o for até o elemento '\0' que representa o final
		concatena[k++] = strB[j]; // adiciona no vetor concatena as strings de b
	
	concatena[k] = '\0'; // finaliza com o caracter nulo
	return concatena;	// retorna o vetor com as strings A e B concatenadas
}


int main(void){
	char stringA[] = "Nichollas";
	char stringB[] = "Mikael";
	
	char *concatena = str_cat(stringA, stringB);
	
	printf("%s\n", concatena);
	
	free(concatena);
	return 0;

}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: