wol*_*k88 2 c++ implicit-conversion
我正在维护一些代码并遇到了这个片段:
int num = 0;
float sum = 0.0;
bool value[rows][cols]; //initialized elsewhere in the code
for(int i = 0; i < rows; i++)
for(int j = 0; j < cols; j++)
if(value[i][j] == true) {
sum += value[i][j]; //shouldn't this be equivalent to "sum += 1;"
//as it is in the if block?
num++;
}
float ans = 1.0;
if(num > 12)
ans = sum / num;
Run Code Online (Sandbox Code Playgroud)
编写这段代码的人最初在这里做了一些非常聪明的事情,或者应该ans永远是1?据我所知,num并且sum应该始终是完全相同的值,不是吗?