PDA

View Full Version : [Strutture di controllo] elseif


Unrue
26-03-2008, 15:39
Ciao ragazzi,
ho un dubbio bovino sull'elseif. Vi posto uno pseudo codice:

if(a*b> 0) {
.. qualcosa..
}
elseif(a*b < 0 ){
a=0;
}

elseif(a*b ==0 ){
a=b;
}

il mio dubbio è il seguente.. Quando entro nel primo blocco elseif, siccome cambio il valore di a, subito dopo mi entra o no nel secondo blocco elseif? Oppure i blocchi elseif sono mutuamente esclusivi? Domanda del cavolo lo so...:doh:

kernel::panic
26-03-2008, 15:50
Nel secondo blocco non entra. Infatti

if(condizione 1)
{
....
}
else if(condizione 2)
{
....
}


equivale a

if(condizione 1)
{
....
}
else
{
if(condizione 2)
{
....
}
}


da cui si capisce che i 2 blocchi si escludono a vicenda ;)

kernel::panic
26-03-2008, 15:53
PS: questo è valido per C/C++/C#/Java e simili.... non conosco altri linguaggi.... ma ad esempio da VB c'è da aspettarsi di tutto :p :D

Unrue
26-03-2008, 16:04
PS: questo è valido per C/C++/C#/Java e simili.... non conosco altri linguaggi.... ma ad esempio da VB c'è da aspettarsi di tutto :p :D

Quindi in pratica, potrei avere tantissimi elseif in cascata, ma comunque vada, una volta entrato in uno, tutti gli altri vengono ignorati giusto?

kernel::panic
26-03-2008, 16:11
Quindi in pratica, potrei avere tantissimi elseif in cascata, ma comunque vada, una volta entrato in uno, tutti gli altri vengono ignorati giusto?

Esattamente! :)