Usein itse tehtyä aliohjelmaa voidaan jälkeenpäin tehdä yleiskäyttöisemmäksi tai paremmaksi lisäämällä siihen parametrejä.
Olkoon alkuperäinen ongelma sellainen, että on esitetty merkkijono muodossa "a- f". Tämä pitäisi saada muutettua muotoon "abcdef". Tarkoitusta varten kirjoitetaan aliohjelma tayta_valit.
Mitkä ovat aliohjelman parametrit? Tietysti alkuperäinen jono. Mihin tulos? Tähän tarvitaan ehkä toinen parametri. Nimessään aliohjelma voi vielä palauttaa osoitteen tulosjonoon, kuten merkkijonofunktioilla yleensäkin on tapana:
char merkit[4]="a- f", tulos[20], sallitut[20]; ... tayta_valit(tulos,merkit); ...tai... strcat(sallitut,tayta_valit(tulos,merkit));
Funktion esittely on siis muotoa:
char *tayta_valit(char *tulos, const char *jono); ...
Myöhemmin huomataan, että tulos- jonon maksimipituus voidaan ylittää! Siksi funktion kutsuun lisätäänkin yksi parametri:
tayta_valit(tulos,20,merkit);
ja vastaavasti esittelyyn:
char *tayta_valit(char *tulos, int max_pit, const char *jono);
Toinen vastaava esimerkki oli seuraava_pvm aliohjelman muuttaminen aliohjelmaksi lisaa_pvm.