问题 单项选择题

下列程序执行后的输出结果是( )。
#include <stdio.h>
void func1(int i);
void func2(int i);
char st[]="hello, friend!";
void func1(int i)
pnintf("% c1, 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; func1(i); printf("\n");

A) hllo
B) heel
C) hlo
D) hlm

答案

参考答案:C

解析: 考查函数的调用。函数调用的一般形式为:函数名(实参列表)。首先调用函数func1(0),输出st[0]=h。i值变为2,并调用函数func2(2),输出st[2]=1。i值此时变为4,又调用函数func1(4),输出st[4]=o。此时i值大于等于3,执行完毕,因此,输出结果为hlo。

填空题
填空题