以下程序的输出结果是( )。 int f(int m) main(){int n=0; {static int n=0; printf(’’%d,’’,f(++n)); n+=m;return n;} pri

admin2019-12-17  31

问题 以下程序的输出结果是(  )。
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。
转载请注明原文地址:https://kaotiyun.com/show/QnCp777K
0

相关试题推荐
最新回复(0)