参考答案和解析
正确答案:C
答案 C
解析:程序使指针 p1,p2,p3 指向 a,b,c 值所存放的地址空间,然后再将指针变量 *p1 、 *p 2运算所得的值放入指针变量 *p , 即放入了 c 值的存放地址 。 则最后输出 c 的时候得到的值就是 c 地址里面的值。即 1*3=3 。
更多“有以下程序main(){ int a=1,b=3,c=5;int *p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2) ”相关问题
  • 第1题:

    分析下列程序: 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的值并没有发生变化。

  • 第2题:

    分析下列程序: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的值并没有发生变化。

  • 第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题:

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

    分析下列程序: #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,66,9

    B.6,9 9,6

    C.6,9 6,9

    D.9,69,6


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

  • 第5题:

    有以下程序: 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。