单选题 下列程序执行后的输出结果是
void func1(int i);
void func2(int i);
char st[]="hello,friend!”;
void func1(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func2(i);}}
void func2(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func1(i);}}
{ int i=0;func1(i);printf("/n");}
  • A. hello
  • B. hel
  • C. hlo
  • D. hlm
【正确答案】 C
【答案解析】[解析] 考查函数的调用。 [解题要点] 函数调用的一般形式为: 函数名(实参列表) 首先调用函数funcl(0),输出st[0]=h。i值变为 2,并调用函数func2(2),输出st[2]=l。i值此时变为 4,又调用函数funcl(4),输出st[4]=0。此时i值大于等于3,执行完毕。因此,输出结果为hlo。 [考点链接] 函数调用的一般格式以及函数的返回值。