参考答案和解析
正确答案:C
本题中指针p1、p2、p3指向a、b、c值所存放的地址空间,然后再将指针变量*p1、*p2中值的乘积赋给指针变量*P,即赋给变量c,输出c的值3。
更多“有以下程序: main { int a=1,b=3,C=5,*P; int*p1=&a,*p2=&b,*p3=&c; *p=*p1*(*p2); } 执行后的输 ”相关问题
  • 第1题:

    分析下列程序:includemain(){int*p1,*p2,*p;int a=6,b=9;p1=&a;p2=&b;if(a

    分析下列程序: #include<stdio.h> main() { int*p1,*p2,*p; int a=6,b=9; p1=&a;p2=&b; if(a<b){p=p1;p1=p2;p2=p;} printf("%d,%d",*p1,*p2); printf("%d,%d",a,b); } 程序的输出结果为( )。

    A.9,6 6,9

    B.6,9 9,6

    C.6,9 6,9

    D.9,6 9,6


    正确答案:A
    解析: 通过p1=&a,p2=&b分别将a、b的地址赋给指针p1、p2,接着执行if语句,发现ab成立,则通过交换p1、p2的值,即交换a、b所在存储单元的地址,但是a、b的值并没有发生变化。

  • 第2题:

    有以下程序: main() {int a=1,b=3,c=5; int*p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf("%d\n",C); } 执行后的输出结果是( )。

    A.1

    B.2

    C.3

    D.4


    正确答案:C
    解析:*p1=1,*p2=3,*p=3,指针p指向变量c,故正确选项为C。

  • 第3题:

    8、以下程序的执行结果是__________。 main(){ int a=1, b=3, c=5; int *p1=&a, *p2=&b, *p=&c; *p=*p1*(*p2); printf("%d\n", c); }

    A.1

    B.15

    C.3

    D.5


    0

  • 第4题:

    分析下列程序: include main() {int*p1,*p2,*p; inta=6,b=9; p1=&a;p2=&b; if

    分析下列程序:

    #include<stdio.h>

    main()

    { int*p1,*p2,*p;

    inta=6,b=9;

    p1=&a;p2=&b;

    if(a<B) {p=p1;p1=p2;p2=p;}

    printf("%d,%d",*p1,*p2) ;

    printf("%d,%d",a,B) ;

    }

    程序的输出结果为( )。

    A.9,6 6,9

    B.6,9 9,6

    C.6,9 6,9

    D.9,6 9,6


    正确答案:A
    解析:通过p1=&a,p2=&b分别将a、b的地址赋给指针p1、p2,接着执行if语句,发现ab成立,则通过交换p1、p2的值,即交换a、b所在存储单元的地址,但是a、b的值并没有发生变化。

  • 第5题:

    若有如下程序: sub(int * t,int n) {int *p1, *p2; for(p1=t,p2=t;p1-t<n;p1++) if(*p1<*p2) p2=p1; return(*p2);} main() {int a[9]={9,36,19,39,26,5,6,33,15}; printf("%d\n",sub(a,9));} 则程序运行后的输出结果是( )

    A.5

    B.9

    C.15

    D.39


    正确答案:A