问题
单项选择题
下列程序执行后的输出结果是( )。
void funcl(int i);
void func2(int i);
char st[]="hello,friend!";
void funcl(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);
main()
int i=0;funcl(i);printf("\n"); )
A.hlm
B.hlo
C.hello
D.he1
答案
参考答案:B
解析: 本题定义了两个很相似的子函数互相调用,子函数首先输出st[i],然后判断i是否小于3,是的话就让i增2后调用另一个子函数。在主函数中只调用了一次funcl(0),funcl()输出st[0],然后调用func2(2),func2()输出st[2],又调用func1(4),此时i不小于3,所以funcl()只输出st[4]就返回了。故最终输结果为h1o,正确答案为B。