问题 单项选择题

下列程序执行后的输出结果是( )。
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<3m+=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]=i值此时变为4,又调用函数func1(4),输出st[4]=0。此时i值大于等于3,执行完毕,因此,输出结果为hlo。

填空题
单项选择题