计算日志的函数 - 未使用的变量错误

时间:2015-01-17 00:52:56

标签: c

我正在编写一个试图获得根的平方的函数。 我想通过一个例子来说它更容易:

我想给这个函数一个数字,比如1024,函数应该告诉我12.所以总是在这里寻找x:1024 = 2 ^ x。 如果我给函数255,它应该返回7.

现在我猜我的数学非常好,但我得到一个错误,说我没有在第6行使用变量。你能看看吗?

int log_base2(int num)
{
  int x = 2;
  int count = 0;
  for(; x <= num; x * 2 )
  {
    count++;
  }

  return count;

}

错误在第6行(for(....))

2 个答案:

答案 0 :(得分:6)

for(; x <= num; x * 2 )

此处x * 2计算其值,然后将结果抛出。你想要的可能是:

for(; x <= num; x *= 2 )

错误消息可能是因为编译器优化了变量x,因为它无用。

答案 1 :(得分:4)

您无法在任何地方修改x。如果您希望x在下一次迭代中成为2 * x,则必须更改此

for(; x <= num; x * 2 )

for(; x <= num; x = 2 * x )