下列程序执行后输出的结果是()includef(int A){ int b=0;static c=3;a=c++,b++;return下列程序执行后输出的结果是( ) #include<stdio.h> f(int A) { int b=0; static c=3; a=c++,b++; return(A) ; } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }A.3B.0C.5D.4

题目
下列程序执行后输出的结果是()includef(int A){ int b=0;static c=3;a=c++,b++;return

下列程序执行后输出的结果是( ) #include<stdio.h> f(int A) { int b=0; static c=3; a=c++,b++; return(A) ; } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }

A.3

B.0

C.5

D.4


相似考题
更多“下列程序执行后输出的结果是()#include<stdio.h>f(int A){ int b=0;static c=3;a=c++,b++;return ”相关问题
  • 第1题:

    下列程序执行输出的结果是()。includef(int A) {int b=0;static c=3;a=C++;b++;return(

    下列程序执行输出的结果是( )。 #include<stdio.h> f(int A) { int b=0; static c=3; a=C++;b++; return(a); } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析: 本题考查函数调用时的参数传递。在函数调用时,static变量在函数调用结束后所做的所有变化均保持(即上次调用结束时的值)。
    在主函数中,第一次循环,i=0,调用k=f(a++)=f(2),调用完之后才将a加1,a变为3,在f(2)中,先将c=3赋值给a返回,然后将c加1,得到k=a=3,c=4。
    第二次循环,i=1,调用k=f(a++)=f(3),调用完之后才将a加1,a变为4,在f(3)中,先将c=4赋值给 a返回,然后将c加1,得到k=a=4,c=5。

  • 第2题:

    下列程序的输出结果是()。include f(int a){int b=0; static int c=4; a=c++;b++; retu

    下列程序的输出结果是( )。 #include <stdio.h> f(int a) { int b=0; static int c=4; a=c++;b++; return(a); } main() { int a=2,i,c; for(i=0;i<2;i++) c=f(a++); printf("%d\n", c); }

    A.4

    B.7

    C.6

    D.5


    正确答案:D
    解析:本题考查静态变量的使用方法和for循环。在函数调用时,static变量在函数调用结束后所作的所有变化均不保持,所以当i=1时,第2次进入f函数时c=5,所以最终main函数中c的值为5。

  • 第3题:

    下列程序执行输出的结果是()。includef(int a){ int b=0;static c=3;a=c++;b++;return(

    下列程序执行输出的结果是( )。 #include<stdio.h> f(int a) { int b=0; static c=3; a=c++;b++; return(a); } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:本题考查函数调用时的参数传递。在函数调用时,static变量在函数调用结束后所做的所有变化均保持(即上次调用结束时的值)。在主函数中,第一次循环,i=0,调用k=f(a++)=f(2),调用完之后才将a加1,a变为3,在f(2)中,先将c=3赋值给a返回,然后将c加1,得到k=a=3,c=4。第二次循环,i=1,调用k=f(a++)=f(3),调用完之后才将a加1,a变为4,在f(3)中,先将c=4赋值给a返回,然后将c加1,得到k=a=4,c=5。

  • 第4题:

    下列程序执行输出的结果是()。 include f(int a) {int b=0; static c=3; a=C++;b++; re

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

    #include<stdio.h>

    f(int a)

    { int b=0;

    static c=3;

    a=C++;b++;

    return(a);

    }

    main()

    { int a=2,i,k;

    for(i=0;i<2;i++)

    k=f(a++);

    printf("%d\n",k);

    }

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:本题考查函数调用时的参数传递。在函数调用时,static变量在函数调用结束后所做的所有变化均保持(即上次调用结束时的值)。
      在主函数中,第一次循环,i=0,调用k-f(a++)=f(2),调用完之后才将a加1,a变为3,在f(2)中,先将c=3赋值给a返回,然后将c加1,得到k=a=3,c=4。
      第二次循环,i=1,调用k=f(a++)=f(3),调用完之后才将a加1,a变为4,在f(3)中,先将c=4赋值给a返回,然后将c加1,得到k=a=4,c=5。

  • 第5题:

    下列程序执行输出的结果是()。include f(int a){ int b=0;stoic c=3;a=c++;b++;return(

    下列程序执行输出的结果是( )。 #include <stdio.h> f(int a) { int b=0; stoic c=3; a=c++;b++; return(a); } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:本题考查函数调用时的参数传递。在函数调用时,static变量在函数调用结束后所做的所有变化均保持(即上次调用结束时的值)。在主函数中,第一次循环,i=0,调用k=f(a++)=f(2),调用完之后才将a加1,a变为3,在f(2)中,先将c=3赋值给a返回,然后将c加1,得到k=a=3,c=4。第二次循环,i=1,调用k=f(a++)=f(3),调用完之后才将a加1,a变为4,在f(3)中,先将c=4赋值给a返回,然后将c加1,得到k=a=4, c=5。