itgle.com

以下程序的输出结果是 【 9 】 。#include<stdio.h>main(){ int j,a[]={1,3,5,7,9,11,13,15},*p=a+5;for(j=3;j;j--){ switch(j){ case 1:case 2:printf( " %d " ,*p++); break;case 3:printf( " %d " ,*(--p));}}}

题目

以下程序的输出结果是 【 9 】 。

#include<stdio.h>

main()

{ int j,a[]={1,3,5,7,9,11,13,15},*p=a+5;

for(j=3;j;j--)

{ switch(j)

{ case 1:

case 2:printf( " %d " ,*p++); break;

case 3:printf( " %d " ,*(--p));

}

}

}


相似考题
更多“以下程序的输出结果是 【 9 】 。#include&lt;stdio.h&gt;main(){ int j,a[]={1,3,5,7,9,11,13, ”相关问题
  • 第1题:

    以下程序的输出结果是includeint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)ma

    以下程序的输出结果是 #include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d\n",*p); free(p);} f(int *s, int p[][3]) { *s=p[1][1];}

    A.1

    B.4

    C.7

    D.5


    正确答案:D
    解析:本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向了这段内存,函数f()中对p所指向的数据进行了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素5,所以输出结果为5。

  • 第2题:

    有以下程序includemain(){int*p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p)

    有以下程序 #include<stdio.h> main() { int *p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p);p++;} } int*fun() { int a[4],k; for(k=0;k<4;k++)a[k]=k; return(A) ; } 程序运行后的输出结果是( )

    A.程序有错不能运行

    B.输出4个NULL

    C.输出0 1 2 3

    D.输出1 1 1 1


    正确答案:A

  • 第3题:

    以下程序输出的结果是()。includemain(){int i=010,j=10;printf("%d,%d\n:,++i,j--);}A

    以下程序输出的结果是( )。 #include <stdio.h> main() { int i=010,j=10; printf("%d,%d\n:,++i,j--); }

    A.11,10

    B.9,10

    C.010,9

    D.10,9


    正确答案:B
    解析:程序中i的值用八进制表示(十进制为8),++i是在变量使用前自身先加1,而j--是在变量使用后自身减1。所以,4个选项中B符合题意。

  • 第4题:

    有以下程序: main {int i,j; for(j=10;j<11;j++) { for(i=9;i<j;i++) if(!(j%i))break; if(i==j-1) printf("%d",j); } } 输出结果是( )。

    A.11

    B.10

    C.9

    D.10 11


    正确答案:B
    本题考多循环的使用,当j=10,i=9时,循环成立,第一个if条件为假,第二个if条件i==j-1成立,则输出j的值为10,接者执行i++后,i为10;当i为10,for循环不成立,退出内层循环,此时执行j++后,j为11,循环不成立,退出循环。

  • 第5题:

    有以下程序:

    main

    {int i,j;

    for(j=10;j<11;j++)

    { for(i=9;i<j;i++)

    if(!(j%i))break;

    if(i==j-1)

    printf("%d",j);

    }

    }

    输出结果是( )。

    A.A.11

    B.10

    C.9

    D.10 11


    正确答案:B
    本题考多循环的使用,当j=10,i=9时,循环成立,第一个if条件为假,第二个if条件i==j-1成立,则输出j的值为10,接者执行i++后,i为10;当i为10,for循环不成立,退出内层循环,此时执行j++后,j为11,循环不成立,退出循环。

  • 第6题:

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