下列程序的输出结果是()。includeint fun(intx){int a; if(x==0‖x==1)return 3; elsea=下列程序的输出结果是( )。 #include<stdio.h> int fun(intx) { int a; if(x==0‖x==1) return 3; else a=x-fun(x-2); return a; } void main() { printf("%d",fun(7)); }A.2B.8C.9D.5

题目
下列程序的输出结果是()。includeint fun(intx){int a; if(x==0‖x==1)return 3; elsea=

下列程序的输出结果是( )。 #include<stdio.h> int fun(intx) { int a; if(x==0‖x==1) return 3; else a=x-fun(x-2); return a; } void main() { printf("%d",fun(7)); }

A.2

B.8

C.9

D.5


相似考题
参考答案和解析
正确答案:A
解析: 本题考查函数的递归调用。
在函数递归调用时,fun(7):a=7-fun(5)→fun(5):a=5-fun(3)→fun3:a=3-fun(1)→fun(1):a=3,反推回去 fun(3):a=3-3=0→fun(5):a=5-0=5→fun(7):a=7-5=2,最后的计算结果为2。
更多“下列程序的输出结果是()。#include<stdio.h>int fun(intx){int a; if(x==0‖x==1)return 3; elsea= ”相关问题
  • 第1题:

    以下程序的输出结果是#include "stdio.h"int *fun(int *a,int *b){ int m; m=*a; m+=*b-3; return(&m);}main(){ int x=21,y=35,*a=&x,*b=&y; int *k; k=fun(a,b); printf("%d\n",*k);}


    正确答案:53
    本题考查指针函数的使用。题目给出的程序包括两个部分,一个为指针函数fun,一个为主函数main。主函数main部分给出两个整型变量x和y,并给出相应的赋值。main函数的执行结果为输出*k的值,而*k的值即*fun的值。fun函数包括两个整型指针形参*a和*b。通过对*a、*b进行操作,得到结果m,并将m值返回,整个程序的实际输出即为m的值。初始时,m=*a=21。随后令m=m+*b-3,得m=53。整个程序的输出结果即为53。

  • 第2题:

    下列程序的输出结果是( )。 include int fun(int x) {int p;if(x==0‖x==1) return 3;el

    下列程序的输出结果是( )。 #include<stdio.h> int fun(int x) { int p; if(x==0‖x==1) return 3; else p=x-fun(x-2); return p; } void main() { print f("\n%d", fun(5)); }

    A.5

    B.3

    C.7

    D.1


    正确答案:A
    解析:本题考查函数的递归调用。在函数递归调用时,fun(5):a=5-fun(3)->fun3=a=3-fun(1)->fun(1):a-3,反推回去 fun(3):a=3-3=0->fun(5):a=5-0=5,最后的计算结果为5。

  • 第3题:

    下列程序运行后的输出结果是:_____ #include<stdio.h> void fun(int *pa, int pb ) { int pt; pt = *pa, *pa = pb, pb = pt; } int main() { int x=1, y=2; fun(&x, y); printf("%d", x==y); return 0; }


    D 本程序中通过DATA语句对数组B赋值的结果为矩阵DO循环语句的功能是将数组B的第2列的元素的值依次赋值给数组A。因此,A(1)=4、A(2)=5、A(3)=6,所以格式输出数组A后输出的结果为456。

  • 第4题:

    下列程序的输出结果是()。includeint fun(int x){ int a;if(x==0||x=1)return 3;elsea=

    下列程序的输出结果是( )。#include<stdio.h>int fun(int x){ int a; if(x==0||x=1) return 3; else a=x-fun(x-2); return a;}void main(){ printf("%d",fun(7));}

    A.2

    B.8

    C.9

    D.5


    正确答案:A
    解析:本题考查函数的递归调用。在函数递归调用时,fun(7):a=7-fun(5)→fun(5):a=5-fun(3)→fun3:a=3-fun(1)→fun(1):a=3,反推回去fun(3):a=3-3→0→fun(5):a=5-0=5→fun(7):a=7-5=2,最后的计算结果为2.

  • 第5题:

    下列程序的输出结果是()。 include int fun(int x) {int p; if(x==0‖x=1) return 3; e

    下列程序的输出结果是( )。

    #include<stdio.h>

    int fun(int x)

    { int p;

    if(x==0‖x=1)

    return 3;

    else

    p=x-fun(x-2) ;

    return p;

    }

    void main()

    { printf("\n%d",fun(5) );

    }

    A.5

    B.3

    C.7

    D.1


    正确答案:A
    解析:本题考查函数的递归调用。在函数递归调用时,fun(5):a=5-fun(3)->fun3:a=3-fun(1)->fun(1):a=3,反推回去fun(3):a=3-3=O->fun(5):a=5-0=5,最后的计算结果为 5。