1

所以我在Objective C++ for iOS中追踪到这个代码的一个错误

    for(int i = (maxBin - 4), max = 0; i <= (maxBin + 3); i++) {  
        max += (fftValLeft[i] * fftValLeft[i]);
    }

“最大值 = 0;” 不会发生。我在循环之前移动了初始化,现在一切都很好。

这是 Xcode 4.6.3。这是某种正常的C行为吗?

4

1 回答 1

4

您正在创建一个名为 max 的新变量,其范围仅对 for 循环可见。因此,一旦您退出循环,您在循环内计算的最大值在循环外不可见。希望有帮助。

于 2013-06-22T01:54:14.600 回答