选择题   有以下程序:
    #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。所以选择D选项。