Вы перестарались.
Вы, вероятно, хотите это:
char *mystrncpy(char *dst, char *src, size_t len)
{
while (len > 0)
{
*dst++ = *src++;
len--;
}
return dst - len;
}
Это абсолютно неправильно
return *temp;
*temp
- это char
не указатель, поэтому return temp;
будет правильным.
Кстати: строго говоря, мы не копируем строку, так как строка в C является NUL-концевой последовательностью символов.Здесь мы просто копируем len
байтов.