下列程序执行后的输出结果是()。includevoid func1(int i);void func2(int i);char st[下列程序执行后的输出结果是( )。 #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) {

题目
下列程序执行后的输出结果是()。includevoid func1(int i);void func2(int i);char st[

下列程序执行后的输出结果是( )。 #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,此时i3,执行i+=2,i值变为4,然后再调用函数funcl(4),输出st[4]=o,此时i值大于3,函数调用结束。因此,输出结果为hlo。
更多“下列程序执行后的输出结果是()。#include<stdio.h>void func1(int i);void func2(int i);char st[ ”相关问题
  • 第1题:

    下面程序的输出结果是_______。includemain(){char*p[]={"DOOL","OPK","H","SP"}; int

    下面程序的输出结果是_______。 #include<stdio.h> main() { char*p[]={"DOOL","OPK","H","SP"}; int i; for (i=3;i>=0;i-,i-) printf("%c",*p[i]); printf("\n"); }

    A.SO

    B.SP

    C.SPOPK

    D.SHOB


    正确答案:A
    解析:p[0]存放的是“BOOL\0”的首地址;p[1]存放的是“OPK\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串的第一个字符。在for循环中,i的初值为3,那么输出的第一个字符为“S”,接着两次i-,则输出的值为*p[1],即字符“0”,所以本题的输出为SO。

  • 第2题:

    下列程序执行后的输出结果是 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。注意:函数调用的一般格式以及函数的返回值。

  • 第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题:

    有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i

    有以下程序,程序执行后,输出结果是【 】

    include<stdio.h>

    void fun(int*A)

    { a[0]=a[1];}

    main()

    { int a[10]={10,9,8,7,6,5,4,3,2,1,},i;

    for(i=2;i>1=0;i-) fun(&a[i]);

    for(i=0;i<10;i++) printf("%d,a[i]);

    printf("\n");

    }


    正确答案:7777654321
    7777654321 解析:本题主要考查函数的调用,第—次调用把数组元素a[2]的地址赋给a,此时a[1]即是原数组的a[3]等于7,再执行赋值语句a[0]=a[1],则a[0]和a[1]中的值都是7,然后再把这个值返回给a[2]同样地第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即对a[0]、a[1]、a[2]和a[3]的值都为7,当执行第二个for循环时输出数组中所有元素的值7777654321。

  • 第5题:

    下面的程序执行后,文件test.t中的内容是 ()。 #include <stdio.h> void fun(char *fname,char *st) {FILE *myf;int i; myf=fopen(fname,"w"); for(i=0;i<strlen(st);i++) fputc(st[i],myf); fclose(myf); } int main(void) { fun("test.t","new world"); fun("test.t","hello,"); return 0; }

    A.hello,

    B.new worldhello,

    C.new world

    D.hello,rld


    hello,