C 警告:语句对散列字符串无效
C Warning: Statement with no effect for hashing string
我正在尝试对字符串进行哈希处理,并且我从课本中获得了代码。
代码如下:
int hash(char *str) {
int i, sum;
for (sum = 0; i = 0; str[i] != '[=10=]'; i++)
sum += (int) str[i];
return sum % MODVAL;
}
给我错误的代码是str[i] != '[=11=]';
C for
循环语法由3个表达式组成
for (initialization; condition; increment)
在您的代码中,for
循环声明中有四个表达式。如果你想要多次初始化(例如将sum
和i
初始化为零),你可以用逗号分隔它们:
for (sum = 0, i = 0; str[i] != '[=11=]'; i++)
// ...
我正在尝试对字符串进行哈希处理,并且我从课本中获得了代码。
代码如下:
int hash(char *str) {
int i, sum;
for (sum = 0; i = 0; str[i] != '[=10=]'; i++)
sum += (int) str[i];
return sum % MODVAL;
}
给我错误的代码是str[i] != '[=11=]';
C for
循环语法由3个表达式组成
for (initialization; condition; increment)
在您的代码中,for
循环声明中有四个表达式。如果你想要多次初始化(例如将sum
和i
初始化为零),你可以用逗号分隔它们:
for (sum = 0, i = 0; str[i] != '[=11=]'; i++)
// ...