问题 填空题

以下程序的输出结果是______。 #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。

单项选择题
单项选择题