【发布时间】:2019-04-08 07:58:02
【问题描述】:
字符串以单个空字节终止。既然一个 int 比一个 char 大,那么 int 怎么能变成 0 并一致地终止循环呢?
来源:http://www.cse.yorku.ca/~oz/hash.html
unsigned long
hash(unsigned char *str)
{
unsigned long hash = 5381;
int c;
while (c = *str++)
hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
return hash;
}
【问题讨论】:
标签: c