A-A+

有以下程序 intf(intm) { staticintn=0; n+=m;returnn;

2022-08-12 19:14:11 问答库 阅读 197 次

问题详情

有以下程序 intf(intm) { staticintn=0; n+=m;returnn;} main(){ intn=0: printf(%d,,f(n)); printf(%dn,fin++));) 程序运行后的输出结果是
A.1.1
B.1,2
C.2,3
D.3,3

请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
由于在函数f中,变量n为静态局部变量,所以在主函数中第一次调用函数f后,变量n的值等于l,当第二调用函数f时,在函数f的内部静态局部变量n的值仍然保留等于l,所以返回函数值等于2。

考点:程序