Hola,
Si las inicializás al principio, luego, en la sucesión de if elseif else que definen el paso base o el paso recursivo, se suele "pasar por arriba".
En el paso base se suelen definir con valores iniciales.
pos=[...algo o nada...];
largo=[...algo o nada...];
En el paso recursivo se cargan como el resultado de la llamada recursiva.
[pos, largo]=separarPalabras(...algo...);
saludos,
Eduardo