count_calls()函数和返回值

时间:2014-08-12 18:31:53

标签: c

我正在阅读一篇旧论文,并提出了这个问题

int c = 0;

int count_calls()
{
    c = c + 1;
    return c;
}

现在它问为什么会出现问题,即计算的通话次数不正确?是不是说无论在count_calls()函数中设置了什么c,它总是为零,因为事实c总是在类外定义为0?并将其更改为++ c或+ CC解决此问题?

1 个答案:

答案 0 :(得分:1)

  1. 函数递增全局变量(每次调用函数时它将正​​确递增1),但是当它返回时,它会创建本地副本。
  2. 在int类型的范围内,它可以计算调用
  3. 一般来说,代码不好(不能并行使用)
  4. 移动到++c
  5. 后,它不会改变