Non puoi scorrere un array senza saperne le dimensioni o senza una convenzione particolare sull'ultimo elemento. Il while(*s) che citi normalmente funziona perché consideri che l'array che stai scorrendo abbia 0 come ultimo valore, ma è giustappunto una convenzione, non c'è un modo preciso per sapere il numero di elementi che effettivamente contiene. Cambia la definizione della funzione in modo da avere un valore che ti indichi il numero di elementi, oppure stabilisci una convenzione per cui, ad esempio, al termine dell'array ci sia una struttura con tutte stringhe nulle.