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

admin2010-12-10  24

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

选项 A、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。
转载请注明原文地址:https://kaotiyun.com/show/xUPp777K
0

最新回复(0)