2004 – 6

Si consideri la seguente funzione:

int trova(int bersaglio, int *valori)
{
    int contatore=0;
    while(valori[contatore++] != bersaglio)
        ;
    return contatore-1;
}

Essa serve a determinare l’indice in cui si trova un certo valore (rappresentato dal parametro bersaglio) in un vettore (rappresentato dal parametro valori).
La funzione, però, funziona sempre solo se vale un vincolo specifico rispetto ai dati in ingresso, quale?


Soluzione: il valore del parametro bersaglio deve essere presente nell’array valori.


Il ciclo while() continua indefinitamente se il valore indicato da contatore è diverso dal valore di bersaglio, quindi…