c – strcmp erro (aparentemente erro esta na comparação)

Ola, estou fazendo um trabalho de faculdade que utiliza strcmp, porem ele esta dando erro na comparação. Estamos tentando a horas resolver esse problema e não estamos conseguindo.

O problema esta nessa parte:


while(pos!=1){
meio = (fim+ini)/2;

    char o = elem(meio);
    char t = cli(meio).id;
    int u= strcmp ( o, t);
    if( u ==0 )  {
            n=meio;
            pos = 1;
        }

    else{
        if(strcmp(elem,cli(meio).id)== -1){
        fim = meio-1;

        }

        else{
        ini = meio +1;
        }
    }
}