C++题目不懂 #includeint func(int a,int b){static int m,i=2;i+=m+1;m=i+a+b;return m;}void main(void){int k=4,m=1,p;p=func(k,m);cout

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/08 09:02:44
C++题目不懂#includeintfunc(inta,intb){staticintm,i=2;i+=m+1;m=i+a+b;returnm;}voidmain(void){intk=4,m=1,p

C++题目不懂 #includeint func(int a,int b){static int m,i=2;i+=m+1;m=i+a+b;return m;}void main(void){int k=4,m=1,p;p=func(k,m);cout
C++题目不懂
#include
int func(int a,int b)
{static int m,i=2;
i+=m+1;
m=i+a+b;
return m;
}
void main(void)
{int k=4,m=1,p;
p=func(k,m);
cout

C++题目不懂 #includeint func(int a,int b){static int m,i=2;i+=m+1;m=i+a+b;return m;}void main(void){int k=4,m=1,p;p=func(k,m);cout
你没有理解的原因在于static int m,i=2;
这句话里面,m没有赋初始值,而m是静态变量,所以默认m=0.
因此第一次执行p=func(k,m);
i=2+(0+1)=3;m=3+4+1=8;输出8;
第二次执行p=func(k,m);
i=3+(8+1)=12,m=12+4+1=17,输出17