[linux] Programy v C

Dado Jan dado na slovkaufring.sk
Středa Březen 15 08:15:11 CET 2000


> Mozno je to blbost ale predsa
> 
> Aku hodnotu maju mat funkcie return.
> Niekde som videl return 1 -pri chybe inokedy je to ked funkcia prebehne
> OK.

V zavislosti, ci hovoris o return-e z main(), alebo nejakej inej funkcie.
Ak hovorime o main() a teda o exit code procesu, tak pri uspechu je 0, pri
neuspechu je iny. (to mozno poznas este aj z DOSu - ERRORLEVEL - cim vyssi
tym "zavaznejsia" chyba, ale aspon ina, nez s inym cislom).

Pokial vsdak hovoris o inych funkciach, tak to je dost rozne. 0 success 1
failure. TRUE (0x1) success FALSE (0x0) failure.
To je jeden kontroverzny priklad. Alebo ked vracias pointer, NULL (0x0)
failure, !NULL (!0x0) success. Alebo systemove volania -1 failure ine
sucess.

V principe to zavisi od toho, co tak funkcia vracia. Napr. pri pointroch
je to jasna vec.

Napr. ked chces mat funckiu, ktora bude nejaky integer, a ten moze mat
vsetky mozne hodnoty, musis na error checking pouzit nejaky iny sposob.
Napr. nevracat hodnotu priamo ale cez pointer, pripadne hodnotu chiet mat
vratenu v nejakej premennej, ktoru si zadas, a return bude urcovat status
uspesnosti funkcie.

						Jano





Další informace o konferenci linux