itgle.com

下面程序输出的是( )。 main { int t=l;fun(fun(t));} fun(int h) { static int a[3]={1.2.3}; int k; for(k=0;k<3;k++)a[k]+=a[k]-h; for(k=0;k<3;k++)printf("%d",a[k]); printf("\n"); return(a[h]);}A.1,2,3, 1,5,9,B.1,3,5, 1,3,j,C.1,3,5, 0,4,8,D.1,3。5, -1,3,7,

题目

下面程序输出的是( )。 main { int t=l;fun(fun(t));} fun(int h) { static int a[3]={1.2.3}; int k; for(k=0;k<3;k++)a[k]+=a[k]-h; for(k=0;k<3;k++)printf("%d",a[k]); printf("\n"); return(a[h]);}

A.1,2,3, 1,5,9,

B.1,3,5, 1,3,j,

C.1,3,5, 0,4,8,

D.1,3。5, -1,3,7,


相似考题
更多“下面程序输出的是( )。 main { int t=l;fun(fun(t));} fun(int h) { static int a[3]={1.2.3}; in ”相关问题
  • 第1题:

    下面程序的运行结果是( )。include main(){int a=25; fun(&A); }fun(int *x){ print

    下面程序的运行结果是( )。

    include<stdio.h>

    main()

    {int a=25;

    fun(&A);

    }

    fun(int *x)

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

    }


    正确答案:26
    26 解析:在主函数中只调用了fun函数,调用时把变量a的地址传递给形参。fun函数的形参x是一个指针,其基类型与主函数中a的类型一致,因此在调用时得到的是a的地址,输出项是++*x,*x代表的就是主函数中变量a的存储单元,++*x就是使主函数中a的值加1,输出26。

  • 第2题:

    以下程序的输出结果是#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。

  • 第3题:

    以下程序段中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是

    A.main() { int*p; fun(p); … } int fun(int*p) {int s; p=&s; }

    B.main { int *p; fun(&p); … } int fun(int**p) {int s; *p=&s; }

    C.#include <stdlib.h> main() { int *p; fun(&p); … } int fun(int**p) {*p=(int*)malloc(2); }

    D.#include <stdlib.h> main() { int *p; fun(p); … } int fun(int *p) {p=(int*)malloc(sizeof(int));}


    正确答案:C

  • 第4题:

    有以下程序#include <stdio.h>#include <stdlib.h>int fun(int t){ int *p; p=(int*)malloc(sizeof(int)); *p=t; return *p;}main(){ int a; a = fun(8); printf("%d\n", a+fun(10));}程序的运行结果是A.0 B.10 C.18 D.出错


    正确答案:C
    本题考查函数的调用。题目给出的程序可以分为两个部分,一个是函数fun,另一个是主函数main。fun函数的功能是输入一个整型变量t,设置一个指向该整型变量的指针p,并将该指针所指向的值返回给main函数。main函数中两次调用了fun函数,第一次变量t的值为8,第二次变量t的值为10,第一次返回值8,使得a=8,第二次返回值10,使得a+fun(10)=18。

  • 第5题:

    以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是

    A.main() { int *p; fun(p); … } int fun(int *p) { ints; p=&s;}

    B.main() { int *p; fun(&p); … } int fun(int **p) { int s; *p=&s;)

    C.#include main() { int *p; fun(&p); … } int fun(int **p) *p=(int*)malloc(2);}

    D.#include main() { iht *p; fun(p); … } iht fun(iht *p) { p=(int*)malloc(sizeof(int)); }


    正确答案:C
    解析:本题考核的知识点是指针变量作为函数的参数以及变量的作用域。在选项A中,main()函数中定义了一个指针变量p,调用fun()函数时把p传给形参p,在函数中让p指向局部变量s,由于函数调用返回后,局部变量s将被释放,因此无法实现让实参p指向一个整型单元,故选项A错误.选项B中实现的也是让实参p,指向一个在函数fun()定义的局部变量s,因此也是错误的;选项C在函数fun()中分配了两个字节的内存单元并把首地址赋值给形参p指向的变量,即main()函数的指针变量p中,由于整型变量占两个字节,因此,选项C是正确的;选项D在主函数中定义了一个指针地址变量p,并把指针变量的值传给形参变量p,在fun()函数分配了一个整型单元并把首地址赋值给行参指针变量p,由于C语言中变量作为参数是传值的,所以并没有改变对应实参指针变量的值,因此选项D也是错误的.所以,C选项为所选。

  • 第6题:

    以下程序的输出结果是()。includeint fan(int);main(){int w=5; fun(w);printf("\n");}

    以下程序的输出结果是( )。 #include <stdio.h> int fan(int); main() { int w=5; fun(w); printf("\n"); } fun(int k) { if(k>0) fun(k-1); printf("%d",k); }

    A.5 4 3 2 1

    B.0 1 2 3 4 5

    C.1 2 3 4 5

    D.5 4 3 2 1 0


    正确答案:B
    解析:本题考查函数的递归调用。fun函数共被调用6次,即fun(5)、fun(4)、fun(3)、fun(2)、fun(1)、fun(0),其中fun(5)是main函数调用的,其余是在fun函数中调用的。