下列程序执行后的输出结果是( )。 void funcl(int i); void func2(int i); char st[]="hello,friend!"; void funcl(int i) { printf("

admin2010-01-10  34

问题 下列程序执行后的输出结果是(  )。    void funcl(int i);    void func2(int i);    char st[]="hello,friend!";    void funcl(int i)    {  printf("%C",st);    if(i<3)    {  i+=2;func2(i);  )    }    void func2(int i)    {printf("%c",st);    if(i<3)    {  i+=2;func1(i);  }    }    main()    {int i=0;funcl(i);printf("\n");  )

选项 A、hlm
B、hlo
C、hello
D、he1

答案2

解析 本题定义了两个很相似的子函数互相调用,子函数首先输出st,然后判断i是否小于3,是的话就让i增2后调用另一个子函数。在主函数中只调用了一次funcl(0),funcl()输出st[0],然后调用func2(2),func2()输出st[2],又调用func1(4),此时i不小于3,所以funcl()只输出st[4]就返回了。故最终输结果为h1o,正确答案为B。
转载请注明原文地址:https://jikaoti.com/ti/BqI0FFFM
0

最新回复(0)