A-A+

下列程序执行后的输出结果是()。 #include<stdio.h> void func1(

2022-08-06 05:05:24 问答库 阅读 176 次

问题详情

下列程序执行后的输出结果是()。 #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。

考点:程序