niusouti.com
参考答案和解析
正确答案:4,8,0
首先计算a/b=0,0!=a,所以结果为0,所以不执行后面的语句,直接得到c=0,而a,b的值不变。
更多“以下程序的运行结果是。void main(){int a=4,b=8,c;c=(a/b= =a)&&(a+b!=20);printf("%d,% ”相关问题
  • 第1题:

    有以下程序 include main() { char a=4; printf("%d/n,a=a

    有以下程序 #include <stdio.h> main() { char a=4; printf("%d/n,a=a<<1); } 程序的运行结果是______。

    A.40

    B.16

    C.8

    D.4


    正确答案:C
    解析:“”是按位左移运算符,左移一位相当于该数乘以2,左移两位相当于该数乘以2的2次方,所以本题相当于将4乘以2,结果为8。

  • 第2题:

    有以下程序

    #include<stdio.h>

    void fun(int*p)

    {printf("%d\n",p[5]);}

    main()

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

    fun(&a[3]);

    }

    程序运行后的输出结果是

    A.5

    B.6

    C.8

    D.9


    正确答案:D
    解析:考察指针和函数的相关知识,a[3]指向的是数据值为4的地址,那么相当于是p指向数据值4的地址,那么p[5]指向就是数据值9的地址,所以输出9。

  • 第3题:

    以下程序的运行结果是()。includemain(){int a[]={1,2,3,4,5,6,7,8,9,10,11,12}; int *

    以下程序的运行结果是( )。 #include <stdio.h> main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p=a+5,*q=NULL; *q=8(p+5); printf("%d %d\n", *p,*q); }

    A.运行后报错

    B.6 6

    C.6 11

    D.5 5


    正确答案:A
    解析:本题的考查点是通过指针引用数组元素。程序中没有给q分配存储单元,只是给它赋了一个NULL,所以程序的运行结果是:611NULLpointerassignment,也就是运行后报错。

  • 第4题:

    若有以下程序includeint a[]={2,4,6,8};main(){int i; int *p=a; for(i=0;i<4;i++)a[i

    若有以下程序 #include <stdio.h> int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i<4;i++)a[i]=*p; printf("%d\n",a[2]);} 上面程序输出结果是

    A.6

    B.8

    C.4

    D.2


    正确答案:D
    解析:在C语言中,数组元素下标是从0开始的;指针变量p指向数组的首地址。for循环语句中,指针变量p始终指向数组的首地址,因而执行循环赋值语句后数组各元素的值均变为2。

  • 第5题:

    若有以下程序 include int a[ ]={2,4,6,8}; main( ) { int i; int *p=a; for(i=0;i<4

    若有以下程序

    #include <stdio.h>

    int a[ ]={2,4,6,8};

    main( )

    { int i;

    int *p=a;

    for(i=0;i<4;i++) a[i]=*p;

    printf("%d\n",a[2]);}

    上面程序的输出结果是

    A.6

    B.8

    C.4

    D.2


    正确答案:D
    解析:在C语言中,数组元素下标是从0开始的;指针变量p指向数组的首地址。for循环语句中,指针变量 p始终指向数组的首地址,因而执行循环赋值语句后数组各元素的值均变为2。