填空题
以下程序的输出结果是______。
#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);
}
【正确答案】
1、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。