以下程序的输出结果是 f(int b[] ,int m, int n) { int i,s=0; for (i=m; i<n; i=i+2) s=s+b [i]; return s; } main ( ) { int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf ( "%d\n", x); }A.10B.18C.8D.15

题目

以下程序的输出结果是 f(int b[] ,int m, int n) { int i,s=0; for (i=m; i<n; i=i+2) s=s+b [i]; return s; } main ( ) { int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf ( "%d\n", x); }

A.10

B.18

C.8

D.15


相似考题
更多“以下程序的输出结果是 f(intb[] ,intm, intn){int i,s=0;for (i=m; i<n; i=i+2)s=s+b [i]; retur ”相关问题
  • 第1题:

    有以下程序 include int fun(int (*s)[4],int n,int k) {int m,i;

    有以下程序 #include <stdio.h> int fun(int (*s)[4],int n,int k) {int m,i; m=s[0][kl; for(i=1;i<n;i++) if(s[i][k]>m) m=s[i][k]; return m; } main() { int a[4][4]={{1,2,3,4},{11,12,13,14}, {21,22,23,24}, {31,32,33,34}}; printf("%d\n",fun(a,4,0)); } 程序的运行结果是______。

    A.4

    B.34

    C.31

    D.32


    正确答案:C
    解析:在主函数中,定义并初始化了4行4列的二维数组a,并通过调用fun函数,将fun函数中指向一维数组的指针变量s指向了二维数组a的首地址,使得指针变量s与数组a共用同一存储单元。在fun函数中,通过for循环,求得了数组a第0列中最大的值,并赋给m返回主函数。由于数组a第0列的值分别为1、11、21、31,故其最大值是31。

  • 第2题:

    以下程序的输出结果是()。includevoid reverse(int a [],int n){int i,t; for(i=0;i

    以下程序的输出结果是( )。 #include <stdio.h> void reverse(int a [],int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i]; a[i]=a[n-1 -i];a[n-1-i] =t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf("%d\n",s); }

    A.22

    B.10

    C.34

    D.30


    正确答案:A
    解析:在main函数中,调用reverse函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,1,9,10},然后再执行for循环结构,将b[6],b[7],…,b[9]的值相加,结果为22。

  • 第3题:

    【单选题】以下程序的输出结果是()。 f(int b[ ], int m, int n) { int i,s=0; for(i=m;i<n;i=i+2) s=s+b[i]; return s; } main() { int x, a[ ]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%dn",x); }

    A.10

    B.18

    C.8

    D.15


    C 在c语言中,需要在main函数后面定义函数,需要提前声明,否则调用报错,无法找到该函数。HI=f(f(f(n))),一共调用3次f()函数,f()函数是对n:it2,因此,结果是n}2}2$2,得到结果为8。故答案为c选项。

  • 第4题:

    以下程序的输出结果是 include void reverse(int a[ ] ,int n) { int i,t;for(i=0

    以下程序的输出结果是

    #include<iostream.h>

    void reverse(int a[ ] ,int n)

    { int i,t;

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

    {t=a[i] ;a[i] =a[n-1-i] ;a[n-1-i] =t;}

    }

    void main( )

    { int b[10] ={1,2,3,4,5,6,7,8,9,10};int i,s=0;

    reverse(b,8) ;

    for(i=6;i<10;i++) s+=b[i] ;

    cout < < S;

    }

    A.22

    B.10

    C.34

    D.30


    正确答案:A
    解析:在main函数中,调用reverse函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,1,9,10},在执行for循环结构后,将b[6] ,b[7] ……b[9] 的值相加,结果为 1+2+9+10=22。注意:在计算累加和时,应将累加变量赋值为零。

  • 第5题:

    以下程序的输出结果是 f(int b[],int m,int n) { int i,s=0; for(i=m;i<n;i=i+2)s=s+b[i]; return s; } main() { int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf(“%d\n”,x); }

    A.10

    B.18

    C.8

    D.15


    正确答案:A
    解析:在main()函数中定义了一个变量x,以及一个有9个元素的数组a,并且每个元素分别赋初值为1、2、3、4、5、6、7、8和9。执行函数调用f(a,3,7),把a的首地址赋给形参b,把3和7分别赋给形参m和n。在f()函数中,for循环执行了2次:第一次,i的值为3,相当于执行了语句“s=s+b[3],b[3]的值就是a[3]的值4,故s的值变为4;第二次,i值为5,相当于执行了语句“s=s+b[5];”,b[5]的值6,故s的值变为10。把s作为函数值返回并赋值给x。