Codice rientrante: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
ValterVBot (discussione | contributi)
m Esempi: tag source deprecati, replaced: <source lang= → <syntaxhighlight lang= (2), </source> → </syntaxhighlight> (2)
 
Riga 18:
Nel frammento di codice che segue, entrambe le funzioni <code>f()</code> e <code>g()</code> '''non''' sono rientranti.
 
<sourcesyntaxhighlight lang=c>
int g_var = 1;
 
Riga 29:
return f () + 2;
}
</syntaxhighlight>
</source>
 
La funzione <code>f()</code> dipende dalla [[variabile globale]] <code>g_var</code>; perciò, se due processi eseguono la funzione ed accedono a <code>g_var</code> simultaneamente, il risultato dipende dalle tempistiche di esecuzione. Perciò, <code>f()</code> non è rientrante. Neppure <code>g()</code> è rientrante, perché richiama <code>f()</code> che non è rientrante.
Riga 35:
Queste sono invece funzioni rientranti:
 
<sourcesyntaxhighlight lang=c>
int f(int i){
return i + 2;
Riga 43:
return f(i) + 2;
}
</syntaxhighlight>
</source>
 
== Collegamenti esterni ==