Sia definita la seguente funzione:
int cond(){ return cond(); }Cosa succede all’istruzione
if((a > 0) && cond()) printf("ciao");al variare di a?
Cosa succede all’istruzione
if(cond() && (a > 0)) printf("ciao");al variare di a?
Soluzione:
- Se a <= 0 non fa nulla altrimenti si blocca
- Si blocca sempre
La chiamata alla funzione cond() porta al blocco dell’esecuzione per stack overflow perché chiama se stessa indefinitamente.
Nel primo caso, se a <= 0 allora non avviene la chiamata di cond().