In C nu ai cum sa ai o functie care uneori returneaza alteori nu retunreaza nimic. In C daca o functie este de tipul void atunci nu retunreaza niciodata, daca este de orice alt tip atunci TREBUIE sa returneze ceva. Ca sa semnalezi ca nu s-a retunrat o valoare buna poti sa retunrezi ceva gen -1 si apoi in main verifici daca functia ta o returnat -1(adica daca nu a produs valoarea buna).
Daca vrei sa ai functii care uneori returneaza alteori nu iti recomand un limbaj mai comod de folosit cum ar fi Python, nu C.
Dupa ce vei invatat mai multe chestii vei putea si in C sa faci ca o functie uneori sa nu retunreze cu ajutorul mecanismului de exceptii, dar pana atunci nu prea ai ce face. Iar exceptii nu iti recomand sa cauti pana nu stii ce sunt alea clase, derivare, polimorfism, overload si override.