#include<stdio.h>
void main()
{
int k=4,m=1,p;
int func(int a ,int b);
p=func(k,m);
p=func(k,m);
printf("%d\n",p);
}
int func(int a ,int b)
{
static int m=1,i=2;
i=i+m+1;
m=i+a+b;
return m;
}
第1个回答 2012-06-07
i为,第二次调用是指已经发生改变,有第一次调用重写i值,所以P=19
第2个回答 2012-06-05
子函数中m,i为静态变量,第一次调用时i变为4,因为m=i+a+b=4+4+1=9;第二次调用时i=i+m+1=4+9+1=15,所以m=i+a+b=15+4+1=19;返回m,所以p=19本回答被提问者采纳
第3个回答 2012-06-04
你要问什么?你怎么把函数声明在main中呢追问
我问的是运行的结果,但是我试卷上的原题就是这样的哇,我核对过了。。。。