有以下程序#inculde <stdio.h>#deFine N8void Fun(int * x,int i)main(){ int a[N]={1,2,3,4,5,6,7,8},i;Fun(a,2);For(i=0;i<N/2;i++){ printF(“%d”,a[i]);}PrintF(“\n”);}程序运行后的输山结果是A.1313B.2234C.3234D.1234

题目

有以下程序

#inculde <stdio.h>

#deFine N8

void Fun(int * x,int i)

main()

{ int a[N]={1,2,3,4,5,6,7,8},i;

Fun(a,2);

For(i=0;i<N/2;i++)

{ printF(“%d”,a[i]);}

PrintF(“\n”);

}

程序运行后的输山结果是

A.1313

B.2234

C.3234

D.1234


相似考题
更多“有以下程序#inculde &lt;stdio.h&gt;#deFine N8void Fun(int * x,int i)main(){int a[N]={1,2,3, ”相关问题
  • 第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题:

    有以下程序:includevoid fun(int* s,int* * d){* *d=*(s+2);}main(){ inta[]={1,2,3,

    有以下程序: #include <stdlib.h> void fun(int * s,int * * d) { * *d=*(s+2); } main() { int a[]={1,2,3,4,5},*b; b=(int *)malloc(sizeof(int)); fun(a,&B) ; printf("%d\n",*b+1); } 程序的输出结果是( )

    A.2

    B.3

    C.4

    D.5


    正确答案:C

  • 第4题:

    有以下程序:includedefine N 8void fun(int*x,int i){*x=*(x+i)+1;}main(){int a[N]=

    有以下程序: #include<stdio.h> #define N 8 void fun(int*x,int i) {*x=*(x+i)+1;} main() {int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=0;i<N/2;i++) {printf("%d",a[i]);} printf("\n"); } 程序运行后的输出结果是( )。

    A.1 3 1 3

    B.3 2 3 4

    C.4 2 3 4

    D.1 2 3 4


    正确答案:C
    解析:函数fun(int*x,int i)的功能是把数组元素x[i]的值加1赋给x[0]。所以在主函数中执行fun(a,2)后,数组元数a[0]的值等于4。然后在for循环语句中,输出数组a中的前4个元素的值,分别是4,2,3,4。

  • 第5题:

    以下程序段中,能够通过调用函数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

  • 第6题:

    以下程序中,fun函数的功能足求3行4列二维数组每行尢素中的最大值。请填空。 void fun(int,int,int(*)[4],int*); main() {int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,B); for(i=0;j<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int*br) {int i,j,x; for(i=0;i<m;i++) {x=ar[i][0]; for(j=0;j<n;j++) if(( )) x=ar[i][j]; br[i]=x; } }


    正确答案:xar[i][j]
    xar[i][j] 解析:本题考查的是循环的嵌套。本题定义了二维数组a,存放3行4列的数组元素,定义了,一维数组b用于存放每行的最大数。存函数fun中,通过二重for循环求每行的最大数,外层for循环用于控制行数,内层for循环用于控制列数。当外层循环执行一次时,内层循环则执行4次,并求出了这一行的最大值x,最后将每一行求出最大值x赋值给存放最大值的数组br,故本题答案为xar[i][j]。