A parte che il compilatore segnala degli errori e non riesce a completare il suo compito, seguendo la strada che pare tu voglia seguire basta copiare in b[] carattere per carattere tutte le lettere di a[] che sono diverse da ' ' (usando k come contatore dei caratteri effettivamente copiati), quindi terminare la stringa in b[].
void clean( char a[], char b[] ) {
int l = strlen(a);
int i, k;
for (k=0, i=0; i<l; i++)
if (a[i]!=' ') b[k++]=a[i];
b[k] = '\0';
}