分析下面的程序 main() { int*p1,*p2,*p; int x=4,y=6; p1=&x;p2=&y; if(x<y) {p=p1;p1=p2;p2=p; } printf("%d,%d,",*p1,*p2); printf("%d,%d\n",x,y); } 程序的输出结果为_______。A.6,4,4,6B.4,6,6,4C.4,6,4,6D.6,4,6,4

题目

分析下面的程序 main() { int*p1,*p2,*p; int x=4,y=6; p1=&x;p2=&y; if(x<y) {p=p1;p1=p2;p2=p; } printf("%d,%d,",*p1,*p2); printf("%d,%d\n",x,y); } 程序的输出结果为_______。

A.6,4,4,6

B.4,6,6,4

C.4,6,4,6

D.6,4,6,4


相似考题
参考答案和解析
正确答案:A
解析:if语句执行前,指针变量p1指向变量x,指针变量p2指向变量y。由于xy成立,p1、p2分别指向变量y和变量x,因此,程序输出结果是6,4,4,6。
更多“分析下面的程序main(){int*p1,*p2,*p; int x=4,y=6; p1=&amp;x;p2=&amp;y; if(x<y) {p=p1;p1=p2; ”相关问题
  • 第1题:

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

  • 第2题:

    12、int x=1,y=2; int *p1,*p2; p1=&x;p2=&y; 下面与 x=y; 功能不同的语句是()

    A.*p1=*p2;

    B.*p1=y;

    C.x=*p2;

    D.p1=p2;


    A

  • 第3题:

    设X~N(μ, 42), Y~N(μ, 52), 设P(X≤μ-4)=p1, P(Y≥μ+5)=p2, 则

    A.p1>p2

    B.p1<p2

    C.对任意μ有p1=p2

    D.对个别μ有p1=p2


    C

  • 第4题:

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

  • 第5题:

    int x=1,y=2; int *p1,*p2; p1=&x;p2=&y; 下面与x=y;不等价的语句是()

    A.*p1=*p2;

    B.*p1=y;

    C.x=*p2;

    D.p1=p2;


    C