while (*p++ = *t++)
return s;
questo frammento equivale a
while (*p++ = *t++)
{
return s;
}
se non hai istruzioni nella while devi scrivere:
while (*p++ = *t++)
;
return s;
o in alternativa
while (*p++ = *t++) ;
return s;
dato che la while esegue la riga immediatamente sucessiva mettendoci il ; tu nonb le fai eseguire niente,la riga è vuota.