第6题: [单项选择]以下C程序段的输出结果是 (35) 。 #include<stdio.h) long fun(int n) long s; if(n==1 || n==2) s=2; else s=n+fun(n-1); return s;
void main( ) printf("/n%1d",fun(4)); ) A. 5 B. 7 C. 9 D. 11 参考答案:C 答案解析:[要点解析] 本试题考查函数的递归调用。程序在n=1或n=2时是出口条件,不再递归,否则一直执行s=n+fun(n-1)的操作。展开此求和公式,有s=n+fun(3)=4+3+fun(2)=4+3+2