Busca Binária - Linguagem C

#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
char *alf = "abcdefghijklmnopqrstuvwxyz";
int cp(const char *ch, const char *s);
void main(void) {
    setlocale(LC_ALL, "ptb");
    system("title Busca binária");
    char ch, *p;
    do {
        printf("Digite um caractere: ");
        ch = getch();
        ch = tolower(ch);
        p = (char *) bsearch(&ch, alf, 26, 1, cp);
        if(p)
            printf("%c está no alfabeto\n\n",ch);
        else
            printf("Não está no alfabeto\n\n");
    }
    while(p);
    system("pause");
}
int cp(const char *ch, const char *s) {
    return *(char *) ch - *(char *) s;
}

Comentários