>>889 isa1>isa2=isalpha
#include <stdio.h>
#include <ctype.h>
#include <assert.h>

const int alpha = 1;
int table[256];

maketable()
{    int i;
    for (i = 'A'; i <= 'Z'; i++) table[i] |= alpha;
    for (i = 'a'; i <= 'z'; i++) table[i] |= alpha;
}
int isa1(int c)
{ return table[c] & alpha; }
int isa2(int c)
{ return ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z')); }
int measure(int(*f)(int), int times)
{    char s[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int i, j, t = clock();
    for (i = 0; i < times; i++) for (j = 0; j < sizeof(s) - 1; j++) assert( f(s[j]) );
    return clock() - t;
}
main()
{    maketable();
    printf("%dms.\n%dms.\n%dms.\n", measure(isa1, 1000000), measure(isa2, 1000000), measure(isalpha, 1000000));
}