Ti sei spiegato come una capra, ma il principio è quello delle chiamate di Funzione. Cmq si, funziona.
Ricordati che la Funzione è sempre accompagnata dalle parentesi, quindi:
condizione1; // NON funziona
condizione1(); // OK, funziona
Quelle che tu chiami void sono in realtà delle Funzioni:
Condizione1()
{
ammazzati;
}
Condizione2()
{
impiccati += ammazzati;
}
void è il tipo restituito dalla funzione.
Quando c'è void la funzione è di tipo "secco", così come è. Non restituisce alcun valore.
Una roba così, invece, non la puoi dichiarare void:
Condizione1()
{
int impiccati = 2;
int ammazzati = 3;
int morto;
morto = impiccati + ammazzati;
return morto;
}
Quel return alla fine significa che la Funzione ti restituisce qualcosa, non void (= nulla).
Allora la devi dichiarare con il tipo restituito, che in questo caso è un intero:
int Condizione1()
{
...
}
In questo caso:
a = Condizione1();
a conterrà morto, ovvero il risultato della Funzione, ovvero un intero.
Un altro esempio:
Calcolare l'area del cerchio:
float raggio;
const float Pi_Greco 3.14;
float area
loop()
{
area = Area(raggio);
}
float Area(float r)
{
float risultato;
risultato = r * r * Pi_Greco;
return risultato;
}
Ti è chiaro?