问题 单项选择题

以下程序运行后的输出结果是 #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。

多项选择题
单项选择题