单选题
以下程序的输出结果是( )。int f(int m) main(){int n=0;{static int n=0; printf(''%d,'',f(++n));n+=m;return n;} printf(''%d\n,'',f(++n));}
A、
3,2
B、
1,2
C、
2,3
D、
3,1
【正确答案】
B
【答案解析】
解析:由于变量n为静态局部变量,所以在主函数中第一次调用函数f后,变量n的值等于1。当第二次调用函数f时,在函数f的内部静态局部变量n的值仍然保留等于1,所以返回函数值等于2。
提交答案
关闭