最近在看C++,碰到一个静态变量的程序,有点搞不懂,求高手解释下:
return那里返回到主函数的是a+5,然后再到主函数中继续把a=2带入计算于是2+5=7;还是说运行的时候直接把a=2带入到调用函数中计算,调用函数中计算完后直接返回一个7; 我只想知道在调用函数运行完后返回给主函数的是a+5还是7,就这么一个问题,求解释
#include <iostream>
#include <stdlib.h>
using namespace std;
int f(int a)
{auto int b=0;
static int c=3;
b=b+1;
c=c+1;
return a+b+c;
}
int main()
{int a=2,i=1;
cout<<f(a)<<" ";
cout<<endl;
system ("pause");
return 0;
}