问题
单项选择题
以下程序的输出结果是________。
main()
int k=4,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d\n",p);
func(int a,int B)
static int m=0,i=2;
i+=m+1;m=i+a+b;
return(m);
A.8,17
B.8,16
C.8,20
D.8,8
答案
参考答案:A
解析:[评析] 将k和m的值带入函数func中,第—次调用完func()后,其中m和i的值要保留,并在第二次调用时使用,这是因为两者都是局部静态变量。所以最后的结果是8和17。