python如何学好

void FindName()
{
char name[11] = {0};
int hashCode = 0, si = 1;

printf("\n请输入想要查找的姓名的拼音:");
scanf("%s", name);
getchar();

hashCode = gethashCode(name); //求出姓名的拼音所对应的ASCII作为关键字
int adr = hashCode % P;       //除留余数法去地址
int j = 0;

// 如果hash地址为空,则直接认为不存在
if (Hash[adr].key == 0)
{
    printf("\n没有想要查找的人!\n");
    return;
}
// 如果hashCode和name都相等
if (Hash[adr].key == hashCode && 0 == strcmp(Hash[adr].name, name))
{
    printf("\n姓名:%s   关键字:%d   生日:%s 地址:%d   查找长度为: 1\n", Hash[adr].name, hashCode, Hash[adr].data,adr);
}
// 如果不相等,则进行线性探测搜索
else
{
    int currAddr = adr;
    //从冲突下一个位置开始探测,到达最后一个再从第一个开始
    do
    {
        si++; // 查找长度+1
        adr = (adr + 1) % HASH_LEN;
        // 如果找到,直接break跳出循环
        if (Hash[adr].key == hashCode && 0 == strcmp(Hash[adr].name, name))
        {
            printf("\n姓名:%s   关键字:%d   生日:%s   地址:%d   查找长度为:%d\n", Hash[adr].name, hashCode,Hash[adr].data ,adr , si);
            break;
        }
    } while (adr != currAddr);

    // 直到回到当前位置时还没找到,说明不存在
    if (adr == currAddr)
    {
        printf("\n没有想要查找的人!\n");
        return;
    }
}

}

标题是问题,还是代码是问题