Вы изменяете указатель str1
, устанавливаете его в конце на «\ 0» и затем печатаете NULL. Я думаю, что это то, что вам нужно:
void strCat(char *str1,char *str2)
{
int i;
char *start;
printf("%s",str1);
while(*str1++ != '\0')
continue;
start = str1;
while(*str2 != '\0')
*str1++ = *str2++;
*str1 = '\0';
printf("%s\n",start);
}
Кроме того, как заметил кто-то еще, str1 недостаточно велик, чтобы вместить обе строки.