为什么添加printf会使函数返回正确的输出?

时间:2020-08-26 00:52:42

标签: c++ printf

int Solution::solve(vector<int> &A, int B) {
  int size = static_cast<int>(A.size());
  int max = 0;
  // printf("%d ",size);
  // printf("%d %d ",A[0],A[size-1]);
  int temp = 0, t2 = 0;
  for (int i = -1; i < B; i++) {
    if (i != -1)
      temp += A[i];
    t2 = temp;
    for (int j = size - 1; j > (size - B + i); j--)
      t2 += A[j];
    if (t2 > max)
      max = t2;
  }
  return max;
}

当我运行这段代码时,注释打印语句时返回的max值为0。当我使用打印语句时,返回的值是正确的。谁能帮助我了解为什么会这样吗?或是否有解决方法? (我不想通过其功能打印任何输出)。使用带空引号或NULL的printf似乎也不能解决问题。任何帮助表示赞赏。

0 个答案:

没有答案