选择题   有以下程序:
    #include<stdio.h>
    main()
    {
    int m=1,n=2,*p=&m,*q=&n,*r;
    r=p;
    p=q;
    q=r;
    printf('%d,%d,%d,%d\n',m,n,*p,*q);
    }
    程序的运行结果是______。
 
【正确答案】 D
【答案解析】int m=1,n=2,*p=&m,*q=&n,*r;即指针变量p指向m,指针变量q指向n,r=p;p=q;q=r;即通过指针变量r,将指针p和指针q的指向交换,因此最后输出1,2,2,1。