Pour explication tu essaye de mettre tes deux chaines dans un emplacement de memoire quelquonque..
ou tu prend 2 + 2 +1 = 5 octets ... tu essaye donc d'écraser quelque chose et le systeme t'arrete par une segmentation fault !
t3 = (char*)malloc(5 * sizeof(char));//reserve pile poil l'emplacement !

ou
char t3[5];
rrk275