问题 单项选择题

下面程序执行后的结果是( )。
#include<iostream>
using namespace std;
void func1(int i);
void func2(int i);
char st[]="hello, friend!";
void func1(int i)
cout<<st[i];
if(i<3)i+=2;func2(i);

void func2(int i)
cout<<st[i];
if(i<3)i+=2;func1(i);

void main()
int i=0;func1(i);cout<<endl;

A.ello

B.hel

C.hlo

D.him

答案

参考答案:C

解析: 主函数中调用 func1() 函数,实参赋值为0,在该函数中先输出st[0],即“h,,;然后 func1() 函数又调用 func2() 函数,实参赋值为2,func2() 函数运行时先输出st[2],即“1”;然后又调用 func1() 函数,实参赋值为4,func1() 函数运行时先输出st[4],即“o”。

问答题 简答题
单项选择题