|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
[C++] "Return 0" chiarimenti
" return 0; " Questa istruzione "termina" sempre il programma, se dichiarata nella main, facendomi uscire da essa? Questo vale anche se chiamata in espressioni IF nidificate, purchè nella main ( ovvero non all'interno di altre funzioni)?
In pratica se io scrivo: if (..){ if(..){chiamata funzione, ritorno valore, if (valore=..)return 0; uscirò dalla main? |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2010
Messaggi: 163
|
Anche se è in C si dovrebbe capire
Codice:
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
if(a > 10)
return 2;
else return 1;
}
Quindi termina sia il programma, o se è dentro una funzione termina la funzione stessa (ovviamente facendogli ritornare il valore). Puoi ritornare in if nidificati, in switch, in qualsiasi posto... Ciao! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il return non serve ad interrompere l'esecuzione di un programma, serve ad interrompere l'esecuzione di una funzione e a ritornare un valore al chiamante.
Il caso del main è solo un caso particolare in cui il chiamante è il sistema operativo ed il risultato è lo stato di errore del sistema operativo. Il return si usa esattamente in modo identico rispetto alle altre funzioni. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Quote:
Ultima modifica di Albitexm : 21-08-2010 alle 16:41. |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Per fare questo si usa la funzione della libreria cstdlib che si chiama exit. Ti esce dal programma anche se non sei nel main. Il return appunto non serve per interrompere l'esecuzione del programma, il fatto che lo faccia nel main è solo un side effect del fatto che il chiamante è il sistema operativo.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:18.




















