[ define @ 14.12.2004. 23:13 ] @
Vidim da vi stalno koristite return=0 pa me interesuje koja je svrha koriscenja? i Ako moze neko da mi kaze da li su iste biblioteke u windowsu i u linuxu npr <stdio.h> <conio.h> itd... |
[ define @ 14.12.2004. 23:13 ] @
[ filmil @ 14.12.2004. 23:31 ] @
Citat: i Ako moze neko da mi kaze da li su iste biblioteke u windowsu i u linuxu npr stdio.h conio.h itd... Sva ostala zaglavlja nisu standardna C zaglavlja i ne garantuje se da postoje u svakoj C biblioteci. Postoje i drugi skupovi zaglavlja koja implementiraju funkcije iz drugih potrebnih standarda, kao što je npr. POSIX. conio.h je tipičan primer nestandardnog zaglavlja, koje postoji samo pod DOS-om, ali je postalo toliko popularno da se mogu naći implementacije za druge operativne sisteme. f [Ovu poruku je menjao filmil dana 15.12.2004. u 15:16 GMT+1] [ Vojislav Milunovic @ 15.12.2004. 00:00 ] @
Ukratko... pusti ti tu teoriju...
return 0; Jednostavno kaže funkciji da iѕadje i koju vrednost da vrati... Recimo: Code: int foo(){ return 0; } int main(){ int bar; bar = foo(); printf("%d\n",bar); exit(0); } Eto return je izlaz iz funkcije pri čemu odredjujes vrednost koju će funkcija da vrati... // mod: uklonjena priča o asembleru // Voja: ok neću više =) Prosto zar ne =) [Ovu poruku je menjao filmil dana 15.12.2004. u 15:18 GMT+1] [Ovu poruku je menjao Vojislav Milunovic dana 15.12.2004. u 15:32 GMT+1] [ Goran Arandjelovic @ 15.12.2004. 13:17 ] @
Code: vraca vrednost te promenljive koja treba biti istog tipa kao funkcija iz koje se vraca.return(nekapromenljiva); primer: Code: int pomnozi(int a, int b) { return a*b; } int main() { int x; x=pomnozi(4,3); //x ce postati 12 } [ filmil @ 15.12.2004. 14:49 ] @
(uklonjen je OT deo priče, nadam se da je to OK)
f [ Dundjerski Nemanja @ 15.12.2004. 21:05 ] @
Verovatno ti je jasno sto se tice korisnickih funkcija (one koje ti definises) sta znaci return. Eto objasnili su ti ljudi.
Mozda te interesuje sta znaci return 0; u main() funkciji. Evo ovako: main() je funkcija koju poziva operativni sistem. Program pod C-om je main() funkcija. Kada napises main() podrazumeva se da si napisao int main() tacnije da funkcija main vraca celobrojnu vrednost. Ako na kraju funkcije main izostavis return 0; to se i onako i ovako podrazumeva. A sta to znaci ? To znaci da tvoj program vraca status operativnom sistemu. Ako mu vratis nulu to znaci "sve je ok". Sa tim brojem signaliziras operativnim sistemu o tome kako se zavrsio tvoj program. Ako imas Linux probaj da napises program i na kraju return 0; Kompajliraj ga i izvrsi. Napisi u bash shellu: echo $? i dobices izlazni kod tvog programa (0). E sada, sto je to korisno? Ako napisies skript koji proverava izlazni status programa i recimo ako utvrdis da je izlazni status 1, onda mozes da preduzmes nesto oko toga u vidu komandi shella. Primer ti je fsck program pod Linuxom. man fsck za info. Ciao. [ dejan_su @ 15.12.2004. 21:11 ] @
Ja nikad ne koristim return 0. Ako mi funkcija ne vraca nista lakse mi je da stavim da je tipa void pa onda ne koristim return...
[ Vojislav Milunovic @ 16.12.2004. 14:11 ] @
E nije =) OS ne poziva main =) već skače na etntri point što je u Unix označeno kad pogledaš gdb sa _start pa onda ide call main =)))
poz... [ filmil @ 16.12.2004. 16:43 ] @
Na stranu ko gde, šta i kako skače, standardi zatevaju da funkcija main ima tip int, i to svaki program mora da poštuje.
Više informacija se mogu na primer potražiti u C-FAQ-u. You must research this well. f p.s. IMHO treba dobro paziti kada je potrebno, a kada sasvim beskorisno u priču uplitati mašinski jezik. [ Vojislav Milunovic @ 16.12.2004. 16:49 ] @
Nisam ja počeo =)
Uzgred ja nikad nisam stavljao u main return 0; već sam uvek koristio exit(0) a za ostale funkcije normalno da je korišćen return =) [ vlaiv @ 16.12.2004. 21:16 ] @
Mozda bi se moglo reci da se return 0 (mislim da kompajler prijavljuje gresku ako se stavi return = 0) najcesce koristi u sledecem slucaju (aj da kazemo i opravdano):
int blabla(){ //gomila koda if(nastala_neka_greska) return kod_greske; //gomila drugog koda if(nastala_druga_freska) return kod_druge_greske; //gomila ostalog koda return 0; //sve proslo kako treba ... } Znaci uglavnom bih to opravdao u slucajevima kada rezultat funkcije predstavlja error kod izvrsenja funkcije ... [ The Punisher @ 27.12.2004. 19:00 ] @
tom naredbom glavni program vraća pozivnom programu broj 0, a to je poruka operacijskom sustavu da je program uspješno okončan. štogod on radio. uočimo znak ";" iza naredbe return 0. on označava kraj naredbe te služi kao poruka prevoditelju da sve znakove koji slijede interpretira kao novu naredbu. upamti; znak ";" mora zaključavati svaku naredbu u jeziku c++.
Code: #include <iostream> using namespace std; int main() { cout <<bla bla bla<< endl; return 0; } Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|