hash.c
来自「uClinux下用的数据库」· C语言 代码 · 共 56 行
C
56 行
#include <stdio.h>#define NUM_HASH 32/* #define COUNT 99999999 */#define COUNT 1main(argc,argv) int argc; char *argv[];{ char *cp1; int hash=0, loop; cp1 = argv[1]; for (loop = 0; loop < COUNT; loop++) { /* while(*cp1) { hash += *cp1++; } */ switch(strlen(cp1)) { case 1: hash = *(cp1) * 2; break; default: hash = (*(cp1) * 2) + *(cp1+1); break; /* case 1: hash = *(cp1); break; case 2: hash = *(cp1) + *(cp1+1); break; case 3: hash = *(cp1) + *(cp1+1) + *(cp1+2); break; default: hash = *(cp1) + *(cp1+1) + *(cp1+2) + *(cp1+3); break; */ } hash = hash & (NUM_HASH - 1); } /* printf("%s = %d.\n",argv[1], hash); */ printf("%d = %s.\n",hash, argv[1]);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?