Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

differenza tra return() ed exit() ?

877 views
Skip to first unread message

ReDiCuori

unread,
Dec 9, 2000, 4:47:52 PM12/9/00
to
return lo sui per ritornare il valore di una funzione
exit serve per terminare il programma exit(0) è una chiusura corretta del
programma

Ciao Re Di Cuori

"** Shining PenToLinU Mk-II **" <pent...@ANTISPAM.ramezzo.com> ha scritto
nel messaggio news:2os43tobatkd3hb3p...@4ax.com...
> C'e` nessuno cosi` gentile da spiegarmi la differenza tra
>
> void main(void) {
> exit(3);
> }
>
> e
>
> int main(void) {
> return(3);
> }
>
> ?
>
> --
> ,,
> ( "> OINK OINK !!
> (> )
> ^^ Ha bisogno di affetto: adottalo.


Lanugo of the wandering souls

unread,
Dec 9, 2000, 5:29:42 PM12/9/00
to
>C'e` nessuno cosi` gentile da spiegarmi la differenza tra
>
>void main(void) {
> exit(3);
>}
>
>e
>
>int main(void) {
> return(3);
>}
>

La funzione exit() serve per provocare la terminazione regolare di un
programma, proprio come quando da main si fa un return.
Sia il parametro di exit sia il valore (eventuale) di return vengono
restituiti all'ambiente da cui il programma è stato chiamato.
La differenza fra return ed exit(), oltre al fatto che exit() è una funzione
e return non lo è, è che exit() provoca l'uscita dal programma in qualunque
funzione si trovi.
Return provoca l'uscita dal programma solo se si trova in main(); in caso
contrario provoca il ritorno alla funzione che ha chiamato quella corrente.
Ah, se usi exit() ricordati di #includere l'header stdlib.h.

Lanugo of the Wandering Souls.


Andrea Laforgia

unread,
Dec 11, 2000, 11:38:18 AM12/11/00
to
On Sat, 9 Dec 2000 23:29:42 +0100, "Lanugo of the wandering souls"
<lan...@SCEMOCHISPAMMAflashmail.com> wrote:

>La funzione exit() serve per provocare la terminazione regolare di un
>programma, proprio come quando da main si fa un return.

Aggiungo che return, nel main, non fa altro che chiamare exit.

--
Andrea Laforgia (ICQ 87230455)
------------------------------
#exclude <windows.h>

Lanugo of the wandering souls

unread,
Dec 11, 2000, 1:14:15 PM12/11/00
to
>Aggiungo che return, nel main, non fa altro che chiamare exit.

Fiiiico, non lo sapevo. E' una cosa definita nello standard?

Lanugo


Andrea Laforgia

unread,
Dec 12, 2000, 3:35:36 AM12/12/00
to

Si'.

Lanugo of the wandering souls

unread,
Dec 12, 2000, 12:58:16 PM12/12/00
to
>vi rigrazio per le due risposte, io pero` chiedevo (ma il subject non era
>preciso, in effetti), se un return o una exit() all'interno della main()
sono la
>stessa cosa o e` piu` corretto utilizzare la exit()?

Io ho sempre usato la return per una questione di coerenza con le altre
funzioni, ma penso che sia la stessa identica cosa.

>>Sia il parametro di exit sia il valore (eventuale) di return vengono
>>restituiti all'ambiente da cui il programma è stato chiamato.
>

>per cui, se per uscire dalla main() utilizzo exit() posso anche
prototiparla
>void main() ?

No, perché exit vuole un parametro che passa all'ambiente, ed il parametro è
lo stesso che main restituirebbe con return. Boh, questo deve essere uno dei
motivi di coerenza per cui ho sempre usato return per uscire dalla main.

Lanugo


0 new messages