Witam,
czy mógłby mi ktoś podpowiedzieć, dlaczego po połączeniu dwóch tablic znaków w jednej alokowanej dynamicznie poniższy kod dodaje jeszcze jakieś krzaki na końcu?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char* wynik;
char tab1[]="pierwszy";
char tab2[]="drugi";
wynik =malloc((strlen(tab1)+strlen(tab2))*sizeof(char));
int g;
for(g=0; g<strlen(tab1); ++g)
wynik[g]=tab1[g];
for(int w=0; w<strlen(tab2); ++g, ++w)
wynik[g]=tab2[w];
printf("%s", wynik);
free(wynik);
return 0;
}