allora ho riscritto il codice secondo le tue indicazioni ma pare che si blocchi e il disco continua a macinare per niente...!
ecco :

codice:
int esisteOK(char v[],int inf,int sup){
  int i,med,e1,e2;
  if (sup==-1){
   if ((v[inf]=='o')&&(v[sup]=='k'))
     return 1;
   else return 0;
  }
  else{ 
     med=((inf+sup)/2);
     e1=esisteOK(v,inf,med);
     e2=esisteOK(v,med+1,sup);
     if ((e1)>=(e2))
       return 1;
  }      
}
cosa cè adesso che non va??