一句话的意思

static
Hash(char *string, int len)
{
    int    h;

    h = 0;
    while (len--)
        h = (h << 3) ^ *string++;
    if (h < 0)
        return -h;
    return h;
}
这是一个哈希函数的算法,这之中 h = (h << 3) ^ *string++;是什么意思?

作者: 释梵   发布时间: 2009-10-16

LZ 不会不懂 C语言吧?

= 是赋值运算,<< 是左移运算,^ 是异或运算,* 是指针 dereference 运算,++ 是后缀自增运算,这还会有疑问的?

作者: prinse   发布时间: 2009-10-27

[url][/url]

作者: 棉袄加短裤   发布时间: 2010-09-25