早教吧作业答案频道 -->其他-->
运行程序的结果,为什么,#includefunc(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){intk=4,m=1,p;p=func(k,m);printf("%d",p);p=func(k,m);printf("%d\n",p);}我运行出来的答案是8,17但不知为什么,看不懂程
题目详情
运行程序的结果,为什么,
#include
func(int a ,int b )
{ static int m=0 ,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
main()
{ int k=4,m=1,p;
p=func(k,m);
printf("%d",p);
p=func(k,m);
printf("%d\n",p);
}
我运行出来的答案是8,17 但不知为什么,看不懂程序
#include
func(int a ,int b )
{ static int m=0 ,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
main()
{ int k=4,m=1,p;
p=func(k,m);
printf("%d",p);
p=func(k,m);
printf("%d\n",p);
}
我运行出来的答案是8,17 但不知为什么,看不懂程序
▼优质解答
答案和解析
这是很基础的东西啊 将k m传给func中的a b(这里只是值传递 相当于拷贝了一份) func里定义了两个static变量 你可理解为它这次的值是上次计算之后的值 跟着程序走一遍 i+=m+1 i此时=3了 m=i+a+b 此时=8了 返回m用p接收 打印p=8 再次调用func函数 此时i=3 m=8 执行i+=m+1后 i=12
再执行m=i+a+b =12+4+1 =17了 返回m用p接收 此时p打印=17 有不懂的可以问我
再执行m=i+a+b =12+4+1 =17了 返回m用p接收 此时p打印=17 有不懂的可以问我
看了 运行程序的结果,为什么,#i...的网友还看了以下:
m加水=m稀—m浓这是我的作业本上的一个式子,并且是对的,那么转换过来的话就是m稀=M浓+m加水. 2020-06-12 …
已知三条直线l1:mx-y+m=0,l2:x+my-m(m+1)=0,l3:(m+1)x-y+(m 2020-06-12 …
不等式的证明设m,n为正整数,f(n)=1+1/2+1/3+.+1/n,证明(1)若n>m,则f( 2020-07-16 …
若m与三分之n互为相反数,则3m+()=01.若x=m,y=m,则x,y的关系是2.若xy=-1, 2020-07-17 …
1.用因式分解法解方程(x+1)(x-1)=122.某商店经销一种商品,由于进货价降低了5%,售价 2020-07-18 …
质量分别为M和m的物块形状大小均相同,将它们通过轻绳和光滑定滑轮连接,如图甲所示,绳子在各处均平行 2020-07-20 …
已知M(-3,0)N(3,0),P为坐标平面上的动点,且直线PM与直线PN的斜率之积为常数m(m≥ 2020-08-02 …
急中级财务管理实际利率和名义利率之间关系式中m是什么i=(1+r/m)m-1中的三个问题一、i是实际 2020-11-21 …
一不可伸长的轻绳两端各系一质量分别M和m的大小物体并跨在一个固定的半径为R的光滑半圆柱体上(m在与地 2020-11-26 …
如图所示,质量分别为M和m的两个物体通过定滑轮用轻绳相连,开始时用手压住m使两物体静止,M距地面h高 2020-12-30 …