问题
单项选择题
以下程序运行后的输出结果是 #include<stdio.h> int f(int x); main(){ int n=1, m; m=f(f(f(n))); printf("%d\n", m); } int f(int x) { return x*2; }
A.1
B.2
C.4
D.8
答案
参考答案:D
解析: 本题解题的关键是程序中3次调用了函数f,而且上一次的函数返回值作为本次调用的实参。第1次调用"f(n)",n=1传递给形参x,所以函数f返回值为1*2=2;第2次调用"f(2)",2传递给形参x,函数的返回值为2*2=4;第3次调用"f(4)",4传递给形参x,函数的返回值为4*2=8。