问题 单项选择题

下列程序执行后的输出结果是( )。
#include<stdio.h>
void func1(int i);
void func2(int i);
char st[]="hello,friend!";
void funcl(int i)
printf("%c",st[i]);
if(i<3)i+=2;func 2(i);

void func 2(int i)
printf("%c",st[i]);
if(i<3)i+=2;funcl(i);

main()
int i=0;
funcl(i);printf("\n");

A.hello

B.hel

C.hlo

D.hlm

答案

参考答案:C

解析: 本题首先调用函数funcl(0),输出st[0]=h,i值变为2,再调用函数func2(2),输出st[2]=1,此时i<3,执行i+=2,i值变为4,然后再调用函数funcl(4),输出st[4]=o,此时i值大于3,函数调用结束。因此,输出结果为hlo。

单项选择题
填空题