下列程序的运行结果是______。main(){int a[6],i; for(i=2;i3))%5; print下列程序的运行结果是______。 main() { int a[6],i; for(i=2;i<6;i++) {a[i]=4*(i-2*(i>3))%5; printf("%2d",a[i]); } }A.2 3 2 3B.1 2 1 2C.3 2 3 2D.2 2 2 2

题目
下列程序的运行结果是______。main(){int a[6],i; for(i=2;i<6;i++){a[i]=4*(i-2*(i>3))%5; print

下列程序的运行结果是______。 main() { int a[6],i; for(i=2;i<6;i++) {a[i]=4*(i-2*(i>3))%5; printf("%2d",a[i]); } }

A.2 3 2 3

B.1 2 1 2

C.3 2 3 2

D.2 2 2 2


相似考题
参考答案和解析
正确答案:C
解析:本题程序的功能是对数组元素赋值,难点是对表达式4*(i-2*(i>3))%5的分析。
更多“下列程序的运行结果是______。main(){int a[6],i; for(i=2;i<6;i++){a[i]=4*(i-2*(i>3))%5; print ”相关问题
  • 第1题:

    下列程序的执行结果是______。 print(int*b,int m) { int i; for(i=0;i<m;i++) {*b=i; b++; } printf("%d\n",*--B) ; } main() { int a[5]=}1,2,3,4,5}; print(a,5);}

    A.5

    B.4

    C.3

    D.2


    正确答案:B
    解析:函数print中形参b指向数组a的首地址,for循环将0~4依次赋给元素a[0]~a[4],指针b指向数组后的地址,输出函数先将指针b自减,指向元素a[4],输出为4。

  • 第2题:

    有以下程序

    void f(int *q)

    { int i=0;

    for(;i<5;i++) (*q)++;

    }

    main( )

    { int a[5]={1,2,3,4,5},i;

    f(a);

    for(i=0;i<5;i++) printf("%d,",a[i]);

    }

    程序运行后的输出结果是

    A.2,2,3,4,5,

    B.6,2,3,4,5,

    C.1,2,3,4,5,

    D.2,3,4,5,6,


    正确答案:B
    解析:调用函数f( )时,将数组a的地址传递给了指针q,此时q指向的就是数组a的第一个元素a[0]。在5次循环过程中,q始终指向a[0],因此a[0]的值增加了5。最后的输出结果为“6,2,3,4,5”。

  • 第3题:

    有以下程序prt (int *m, int n){ int i; for (i=0; i<n; i++) m [i]++;}main (){ int a[]={1,2,3,4,5},i; prt{a, 5); for [i=0;i<5;i++) printf ("%d ",a[i]);} 程序运行后输出结果是

    A.1,2,3,4,5,

    B.2,3,4,5,6,

    C.3,4,5,6,7,

    D.2,3,4,5,1


    正确答案:B
    解析:本题考查的是数组名作函数的参数。数组名实际上是一个指向该数组首地址的指针常量,所以数组名作函数的参数和用同类型的指针作参数没有区别.题目首先定义了一个函数,该函数通过一个for循环将指针m到m+n-1所指内存中的数据自增1,所以主函数中执行了prt(a,5);语句后,数组a中的所有元素被自增1。所以,4个选项中选项B符合题意。

  • 第4题:

    有以下程序: prt(int*m,int n) { int i; for(i=0;i<n;i++)m[i])++; } main() { int a[]={1,2,3,4,5},i; prt(a,5); for(i=0;i<5;i++) printf("%d,",a[i]); } 程序运行后的输出结果是 ______。

    A.1,2,3,4,5,

    B.2,3,4,5,6,

    C.3,4,5,6,7,

    D.2,3,4,5,1,


    正确答案:B
    解析:用数组名作函数实参时,不是把数组的值传递给形参,而是把实参数组的起始地址传递给形参数组,这样两个数组就共同占用同一段内存单元。

  • 第5题:

    有以下程序prt(int *m,int n){ int i; for(i=0;i<n;i++) m[i]++;}main(){ int a[]={1,2,3,4,5},i; prt(a,5); for(i=0;i<5;i++) printf("%d,",a[i]);}程序运行后的输出结果是A.1,2,3,4,5, B.3,4,5,6,7,C.2,3,4,5,6, D.2,3,4,5,1,


    正确答案:C
    用数组名作为函数实参时,不是把数组的值传递给形参,而是把实参数组的起始地址传递给形参数组,这样两个数组就共同占用同一段内存单元。本题通过“prt(a,5);”将数组a的首地址传递给了指针变量m,使指针变量m指向数组a的首地址,那么,对指针变量所指向的存储单元的内容的改变就是对数组a中的元素的改变。题中函数prt的作用是将指针变量m所指向的存储单元中的元素值各加上1,故数组a中的值也随之变化,所以。输出的数组元素的值为2,3,4,5,6,。