2.下列程序的输出结果是( )。
#include <iostream>
using namespace std;
void f(int a)
{
if (a == 0)
return;
f(a-1);
cout << a << " ";
}
int main()
{
f(6);
return 0;
}
【解析】“a == 0”是边界条件,此时直接返回(不会输出0),而f (a)先递归调用f (a-1)将1至a-1输出,再输出a,所以f (a)的功能是依次输出1到a。
【答案】A