问题
单项选择题
以下程序运行后的输出结果是 #include<stdio.h> void fun(int *a, int *b) { int *c; c=a; a=b; b=c; } main() { int x=3, y-5, *p=&x, *q=&y; fun(p, q); printf("%d, %d,", *p, *q); fun(&x, &y); printf("%d, %d\n", *p, *q); }
A.3,5,5,3
B.3,5,3,5
C.5,3,3,5
D.5,3,5,3
答案
参考答案:B
解析: fun函数功能是改变指针变量a和b的指向,并不能改变a和b所指向存储空间的值。因此,第一个printf语句的输出结果为“3,5”。第二个printf语句的输出结果仍为“3,5”。