问题详情

以下程序的输出结果是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、8,17

B、8,16

C、8,20

D、8,8

时间:2022-01-05 19:55 关键词:

答案解析

A
将k和m的值带入函数func中,第一次调用完func()后,其中,m和i的值要保留,并在第二次调用时使用,这是因为两者都是局部静态变量,最后的结果是8和17。