一个关于指针函数的程序:
#include<iostream.h>

   int f1(int &x)
   {  return x++;}

   int f2(int (*f)(int &),int y)
   {  int sum=0,count=0;
      for(int i=0;i<=y;i++)
      {  sum+=f(i);
         sum+=f(i);
         count++;
         cout<<sum<<endl;
      }
      return count;
   }

void main(void)
{  int count;
    count=f2(f1,5);
    cout<<count<<endl;
}

运行结果是:
            1
            8
            2
我不能理解为什么(如第一次调用)调用函数f1(),x加1返回却没有将1赋给sum,函数的返回值仍为0,加1的是i,这里应如何理解呢?