有以下程序:#include <stdio.h>int fun(int n){ if(n == 1) return 1; else return( n + fun( n - 1 ) );}main( ){ int x; seanf("%

admin2009-01-15  26

问题 有以下程序:#include <stdio.h>int fun(int n){  if(n == 1) return 1;    else return( n + fun( n - 1 ) );}main( ){   int x;    seanf("% d" ,&X) ;x = fun(x) ;pfinff( "% d \n" ,x);}  执行程序时,给变量x输入10,程序的输出结果是(    )。

选项 A、55
B、54
C、65
D、45

答案1

解析 函数调用将实参x=10传给形参n,语句n=1不成立,执行else语句,递归调用fun函数。 fun函数共被调用8次,即fun(9),fun(8),…,fun(2),由此可得n=10+9+…+1=55,所以x=55。
转载请注明原文地址:https://kaotiyun.com/show/L2Xp777K
0

最新回复(0)