下列程序执行后的输出结果是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<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A.helloB.helC.h

题目

下列程序执行后的输出结果是

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<3){i+=2;func1(i);}}

main()

{ int i=0; func1(i); printf("\n");}

A.hello

B.hel

C.hlo

D.hlm


相似考题
更多“下列程序执行后的输出结果是 voidfunc1(inti); voidfunc2(inti); charst[]="hello,frie ”相关问题
  • 第1题:

    下列程序执行后的输出结果是( )。 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<3){i+=2;func1(i);}

    A.hello

    B.hel

    C.hol

    D.hlm


    正确答案:C

  • 第2题:

    下列程序 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;func2(i);} } void func2(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.hlrn


    正确答案:C

  • 第3题:

    下列程序执行后的输出结果是 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<3) {i+=2;func1(i);} } main() { int i=0; func1(i); }

    A.hello

    B.hel

    C.hlo

    D.hlm


    C 解析:函数调用的一般形式为:函数名(实参列表)首先调用函数funcl(0),输出st[0]=h。i值变为2,并调用函数func2(2),输出st[2]=l。i值此时变为4,又调用函数funcl(4),输出st[4]=0。此时i值大于等于3,执行完毕。因此,输出结果为hlo。注意:函数调用的一般格式以及函数的返回值。

  • 第4题:

    有下列程序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<3){i+=2;func1(i);}}main(){ int i=0;func1(i); printf("\n");}执行后的输出结果是A.hello B.helC.hlo D.hlm


    正确答案:C
    根据变量作用域与其定义语句在程序中出现位置之间的关系,可把变量分为局部变量和全局变量两种。其中,在函数外部定义的变量叫做全局变量,又称为外部变量;在函数体内定义的变量是局部变量,又称为内部变量。全局变量的作用域是整个程序,而局部变量的作用域是定义它的函数或者程序段。
    在本题中,程序首先声明两个无返回值函数func1和func2,然后定义一个全局数组st。做这类除主函数外,有其他函数的试题时,首先需要分析其他函数来得知函数的作用,然后再看主函数。
    func1函数带有一个整型变量的形参,在函数体中,首先输出以形参作为下标的数组元素值,然后执行if条件判断语句,其条件为形参变量i<3。如果结果为真,则将变量i加2后保存,然后调用func2函数;如果条件结果为假,则结束该函数。
    从程序中不难看出,func2函数与func1函数基本类似,只是最后它对函数func1进行调用,与前者不同,两个函数是互相调用的。
    在主函数中定义一个变量i并赋值为0,然后调用函数func1,根据我们对函数func1的分析可知,输出st[0]即字符‘h’,而此时if语句的结果为真,执行i加2并调用func2函数操作。此时变量i的值为2,因此,输出st[2]即字符‘l’,此时函数func2中的if条件语句结果为真,同样执行i加2,并调用func1函数操作,然后通过func1函数输出st[4]即字符‘o’,此时由于变量i的值等于4,是大于3的,函数结束。程序运行到出口,最后输出换行。因此,本程序最终的输出结果是hlo。

  • 第5题:

    下列程序执行后的输出结果是 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<3){i+=2;func1(i);}} { int i=0;func1(i);printf("\n");}

    A.hello

    B.hel

    C.hlo

    D.hlm


    正确答案:C
    解析:函数调用的一般形式为:函数名(实参列表)首先调用函数funcl(0),输出st[0]=h。i值变为2,并调用函数func2(2),输出st[2]=l。i值此时变为4,又调用函数funcl(4),输出st[4]=0。此时i值大于等于3,执行完毕。因此,输出结果为hlo。注意:函数调用的一般格式以及函数的返回值。