求这道c++题目的详细解析~!

#include"iostream.h"inta,b;voidf(intj){staticinti=a;intm,n;m=i+j;i++;j++;n=i*j;a++;co... #include"iostream.h"
int a ,b;
void f(int j)
{static int i=a;
int m,n;
m=i+j ;i++;j++;
n=i*j ; a++;
cout<<"m="<<m<<'\t'<<"n="<<n<<endl;
}
int main()
{ a=1; b=2;
f(b) ;f(a);
cout <<"a="<<a<<'\t'<<"b="<<b<<endl;
return o;
}

输出结果为m=3 n=6// m=4 n=9//a=3 b=2

我不太明白 f(a)以后的每一步每一个变量的值了
希望解答可以详细一点 谢谢!
展开
 我来答
惬意还爽快灬才俊2
2014-02-06
知道答主
回答量:20
采纳率:0%
帮助的人:8.9万
展开全部
首先要弄明白a,b是局部变量且a静态变量!
当f(b);//j=b=2;i=a=1;m=3;n=6;a=2;cout<<"m="<<m<<'\t'<<"n="<<n<<endl;

然后f(a)//j=a=2,i=2,m=4;n=9;a=3;cout<<"m="<<m<<'\t'<<"n="<<n<<endl;

最后cout <<"a="<<a<<'\t'<<"b="<<b<<endl;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式