Naja, optional oder jeden Wert nicht unbedingt, aber wie's aussieht möchtest du ja nur die Nummer hinter dem ersten Wort extrahieren. Mein Vorschlag dazu:
Code:
sscanf(text, "%*[^0-9]%d", &zahl);
Das Sternchen hinter dem %-Zeichen bedeutet, das der umgewandelte Wert verworfen wird, d.h. alle Zeichen die keine Ziffern sind.