问题 单项选择题

有以下程序:
#include<stdio.h>
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);

程序运行后的输出结果是( )。

A) 8, 7, 8, 7
B) 7, 8, 7, 8
C) 8, 7, 7, 8
D) 7, 8, 8, 7

答案

参考答案:C

解析: 本题考核的知识点是指针变量的基本应用。程序中定义了两个变量a和b,并分别赋初值为7和8,定义了三个指针变量p、q、r,并让指针p指向变量a,让q指向变量b,然后通过一个中间指针变量r,使指针变量p和q互换,互换后p指向q所指的内容即b,q指向开始p所指向的内容即a,因此最后输出的*p、*q的值为8、7、a、b的值没有改变仍为7、8。所以,4个选项中选项C)符合题意。

多项选择题
多项选择题