Dato che si tratta di una stringa C (un array di char nul terminated), non e' necessaria *in ogni caso* il secondo parametro perche' la strlen ti fornisce la dimensione (in byte) di dati su cui devi operare.

Quindi, puoi scrivere

codice:
void sostituisci(char a[])
{
    size_t d = strlen(a);
    ...