单选题
下列程序执行后的输出结果是
void funcl(int i);
void func2(int i);
char st[]="hello,friend!";
void fund(int i)
{ cout<<st[i];
if(i<3){i+=2;func2(i);}
}
void func2(int i)
{ cout<<st[i];
if(i<3){i+=2;funcl(i);}
}
main( )
{int i=0;fund(i);cout<<endl;}
A ) hello B) hel C) hlo D) hlm
【正确答案】
C
【答案解析】[解析] 本题考察递归调用。分析funcl可知,当i=0时,首先输出h,然后i变为2,调用func (2),则输出str[2],应为1。分析到此就可以排除选项A和B。然后调用runcl(4),此时输出str [4],为o,故正确答案为C。