早教吧作业答案频道 -->其他-->
运行程序的结果,为什么,#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...的网友还看了以下:
1用8种方法使得到正方形面积的1/421/2=1-1/2,1/6=1/2-1/3,1/12=1/3 2020-04-27 …
问一道数学题684×(1+10%)-1+30×(1+10%)-2+655×(1+10%)-3=几( 2020-05-13 …
解方程,如果你算了,1/1-9x^2-3x+1/3x-1=1-3x/1+3x是这样的1/(1-9x 2020-05-16 …
lim x趋于0 1-cosx^2/x^2sinX^2(1-cosx^2)/x^2sinx^2=[ 2020-05-16 …
1/1*4+1/4*7+1/7*10+...+1/97*100答案=1/3*(1-1/4+1/4- 2020-05-17 …
(1/cos280°-3/cos210°)1/cos20°中第4步怎么来的(1/cos^280-3 2020-05-19 …
兄弟三人合买一幢别墅,老大出资50万元,老二出资额是另外两兄弟总额的1/2,老三1/2除以(1+1 2020-05-21 …
有理数的!1.(-6.91)*40+6.91*(-60)2.6.3*(-1/9)*(-3右4/7) 2020-06-11 …
1/2+1/(2+3)+1/(2+3+4)+.+1/(2+4+5+...+200)=?能否简便?下 2020-07-16 …
2/3+2/15+2/35+2/63+2/99+2/143=1-1/3+(1/3-1/5)+(1/ 2020-07-18 …