Premetto che sono un principiante.
la mia domanda e' se inserisco il valore della funzione "ricerca",nella variabile "i"
il valore rimane l'ultimo che e' stato impostato con for.

Invece se il valore della funzione lo inserisco nella variabile "result" il programma funziona bene (cioe' il numero 105 non viene trovato).
Non riesco a comprendere perche non distrugge il valore precedente se uso la variabile i.

questo sotto e' il programma.
Grazie in anticipo a chiunque rispondera

codice:
#include <stdio.h>
#define SIZE 13


int ricerca(int vett[],int chiave){
int low=0,high=SIZE,key;

		while(low<=high){
		     key=(high+low)/2;
		     if (vett[key]==chiave)
			   return key;
			  
                    else

                       if (vett[key]>chiave)
	                 high=key-1;
			  
                       else
                        low=key+1;   
                }	
		
	return -1;			   
}					
					
main(){
int i,n=105,vett[SIZE],result;

   for(i=0;i<=SIZE-1;i++)
      vett[i]=2*i;
	
	 
	  if (result=ricerca(vett,n)!=-1)
	     printf("il numero %d e' stato trovato\n",n);
	  else
             printf("il numero %d non e' stato trovato!!!",n);	  
   	
	 
}
Con la variabile "result"
http://imageshack.us/a/img401/9141/variabileresult.jpg

Con la variabile "i"
http://imageshack.us/a/img811/6396/variabilei.jpg