niusouti.com

下列程序的输出结果是()。 include f(int a) {int b=0; static int c=4; a=c++;b++; re下列程序的输出结果是( )。#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.4B.7C.6D.5

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

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

#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


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

    以下程序的输出结果是______。include void swap(int *a, int *b){ int *t;}{ int i=3,j

    以下程序的输出结果是______。

    include <stdio.h>

    void swap(int *a, int *b)

    { int *t;

    }

    { int i=3,j=5,*p=&i,*q=&j;

    swap(p,q); printf("%d %d\n",*p,*q);


    正确答案:

  • 第2题:

    下列程序的输出结果是()。 include voidp(int*x) {printf("%d",++*x); } voidmain() {i

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

    #include<stdio.h>

    voidp(int*x)

    {printf("%d",++*x);

    }

    voidmain()

    {int y=3;

    p(&y);

    }

    A.3

    B.4

    C.2

    D.5


    正确答案:B
    解析:本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则printf的执行结果为3+1=4。

  • 第3题:

    下列程序的输出结果是()。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。

  • 第4题:

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

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

    include <stdio.h>

    f (int a)

    { int b=0;

    static c=7;

    a=c++; b++;

    return (a);

    }

    main()

    { int a=2,i,k;

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

    k=f(a++);

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

    }


    正确答案:8
    8 解析:第1次for循环,i=0,调用函数f(2),然后将a的值加1,在f()函数中,变量c为static类型,所以c=8;第2次for循环, i=1,调用函数f(3),然后将a的值加1,调用函数f(3)时,a=c++=8,所以k=8。

  • 第5题:

    下列程序执行输出的结果是()。 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。