问题 填空题

以下程序的输出结果是______。
#include <stdio.h>
void swap(int *a, int *b)
int *t
t=a; a=b; b=t

main()
int i=3,j=5,*p=&i,*q=&j;
swap(p,q); printf("%d %d\n",*p,*q);

答案

参考答案:3 5

解析: 函数swap(int*a,int*b)的功能是实现*a和*b,中两个数据的交换,在主函数中调用swap(p,q)后,参形指针变量a和b分别指向i和j,在swap(int*a,int*b)执行完后,指针变量a和b分别指向j和i,而指针变量p,q所指向变量的值没有发生变化,所以输出结果为3 5。

阅读理解与欣赏
单项选择题