选择题   以下程序的输出结果是______。
    main()
    {  int a=7, b=8, *p, *q, *r;
    p=&a; q=&b;
    r=p; p=q; q=r;
    printf('%d, %d, %d, %d\n', *p, *q, a, b);
    }
 
【正确答案】 C
【答案解析】在“r=p;p=q;q=r;”三个语句是表示p与q交换,经过交换后p指向b的地址,q指向a的地址,因此最后输出为8,7,7,8,故选择C选项。