我正在尝试对字符串进行哈希处理,然后从课本中获得了代码。
这里是代码:
int hash(char *str) {
int i, sum;
for (sum = 0; i = 0; str[i] != '\0'; i++)
sum += (int) str[i];
return sum % MODVAL;
}
给我的错误代码是str[i] != '\0';
C for
循环语法由3个表达式组成
for (initialization; condition; increment)
在您的代码中,您的for
循环声明中有四个表达式。如果要多次初始化(例如将sum
和i
初始化为零),则可以用逗号来分隔它们:
for (sum = 0, i = 0; str[i] != '\0'; i++)
// ...