下面程序运行后的输出结果是()。includemain(){int a[5]={1,0,4,2,0},b[5]={1,2,3,4,5}下面程序运行后的输出结果是( )。 #include<stdio.h> main() {int a[5]={1,0,4,2,0},b[5]={1,2,3,4,5},i,s=0; for(i=0;i<5;i++)s=s+b[a[i]]; printf("%d\n”,s); }A.12B.15C.11D.8

题目
下面程序运行后的输出结果是()。includemain(){int a[5]={1,0,4,2,0},b[5]={1,2,3,4,5}

下面程序运行后的输出结果是( )。 #include<stdio.h> main() {int a[5]={1,0,4,2,0},b[5]={1,2,3,4,5},i,s=0; for(i=0;i<5;i++)s=s+b[a[i]]; printf("%d\n”,s); }

A.12

B.15

C.11

D.8


相似考题
更多“下面程序运行后的输出结果是()。#include<stdio.h>main(){int a[5]={1,0,4,2,0},b[5]={1,2,3,4,5} ”相关问题
  • 第1题:

    有以下程序 include void fun(int*a,int*B) { int*c; c=a;a=b;b=c; } main() {int x=3

    有以下程序 #include<stdio.h> void fun(int*a,int*B) { int*c; c=a;a=b;b=c; } main() { int x=3, y=5,*p=&x, *q=&y; fun(p,q); printf("%d,%d,",*p,*q); fun(&x,&y); printf(" %d,%d\n",*p,*q); } 程序运行后的输出结果是______。

    A.3,5,5,3

    B.3,5,3,5

    C.5,3,3,5

    D.5,3,5,3


    正确答案:B
    解析:本题主要考查的是函数的实参和形参之间的传递关系,C语言中实参变量和形参变量之间的数据传递是单向的“值传递”方式。指针变量作函数参数也要遵循这一规则。调用函数不可能改变实参指针变量的值。所以x和y的地址并没有改变,即p和q也没有改变,因此,选项B是正确的。

  • 第2题:

    以下程序的输出结果是()。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函数中调用的。

  • 第3题:

    ( 29 )有以下程序

    # include ( stdio.h )

    main ()

    { int a[5]= { 1 , 2 , 3 , 4 , 5 } , b[5] ={ O , 2 , 1 , 3 , 0 } , i , s = 0 ;

    for ( i = 0 ; i < 5 ; i++ ) s = s+a[b[i] ] ) ;

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

    }

    程序运行后的输出结果是

    A ) 6

    B ) 10

    C ) 11

    D ) 15


    正确答案:C

     

  • 第4题:

    下面程序的运行结果是( )。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。

  • 第5题:

    以下程序的输出结果是( )。 include void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main

    以下程序的输出结果是( )。 include<stdio.h> void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main() {int i=3,j=5,*p=&i,*q=&j; swap(p,q);printf("%d %d\n",*p,*q); }


    正确答案:3 5
    3 5 解析:本题考查函数中形参和实参的传递。在C语言函数中实参和形参传递具有不可逆性,参数只能由实参传向形参,而不能由形参传向实参,虽然swap函数的功能是实现两个数的交换,但由于没有返回值,故最终的输出结果为3 5。