rwsearch.c

来自「一个SQL解析器」· C语言 代码 · 共 30 行

C
30
字号
# include <ctype.h>
rwsearch( str )
char    *str;
{
int     x;
int     mid;
int     low=0;
int     high=RWORDS - 1;

        upshift(str);
        while(low <= high)
        {
                mid = (low+high)/2;
                if( !(x=strcmp(str, rwords[mid])) )
                        return(rnums[mid]);
                else if( x<0 ) /* if lesser */
                        high = mid-1;
                else if( x>0 ) /* if greater */
                        low = mid+1;
        }
        return(IDENTIFIER);
}

upshift(str)
char    *str;
{
        for(;*str;str++)
                *str = (isupper(*str))? *str : toupper(*str);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?