有以下程序:includemain(){int a [10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], *q=p+2;有以下程序: #include <stdio.h> main() { int a [10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], *q=p+2; prinff("%d\n";*p+*q); } 程序运行后的输出结果是( )。A.16B.10C.8D.6

题目
有以下程序:includemain(){int a [10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], *q=p+2;

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

A.16

B.10

C.8

D.6


相似考题
更多“有以下程序:#include<stdio.h>main(){int a [10]={1,2,3,4,5,6,7,8,9,10},*p=&amp;a[3], *q=p+2; ”相关问题
  • 第1题:

    有以下程序: main() {int a=[10]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=&a[3], *q=p+2; printf("% d\n", *p+*q); } 程序运行后的输出结果是______。

    A.16

    B.10

    C.8

    D.6


    正确答案:B
    解析:p指向了a[3]的地址,且*p=a[3]=4,又有*q=p-2;则q指向了a[5]的地址,且*q=a[5]=6,最后输出为10。

  • 第2题:

    有以下程序: main() {int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2; printf("%d\n",*p+*q); }

    A.16

    B.10

    C.8

    D.6


    正确答案:B
    解析:本题定义了一维数组a和两个指针变量。指针变量p的初值为第4个数组元素的地址,指针变量q的初值为,第6个数组元素的地址。*p+*q=4+6=10。

  • 第3题:

    10、下面程序执行后的输出结果是()。 #include <stdio.h> int main() { int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], *q=p+2; printf("%d", *p+*q); return 0; }

    A.16

    B.10

    C.8

    D.6


    a=14 本题考查的是表达式的优先级问题。先计算表达式3*5=15,再计算a+4=14,将数据14赋值给a,根据printf()函数内的输出格式控制串,最后的输出结果应为“a=14”。

  • 第4题:

    有以下程序: main() { int a[10]={1,2,3,4,5,6,7,8,9,10),*p=&a[3],*q=p+2; printf("%d\n",*p+*q); } 程序运行后的输出结果是( )。

    A.16

    B.10

    C.8

    D.6


    正确答案:B
    解析:题目中首先定义了一个int型数组a并初始化了,然后定义了两个指针变量p和q,并分别初始化p为指向数组元素a[3]、q指向p后面的第2个元素即指向a[5]。所以最终输出的值为a[3]+a[5]的值10。应该选B。

  • 第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。