问个小程序的问题
我做了一道二级题,题目让选择以下程序的输出结果#include<stdio.h>
void fun(int *a,int *b)
{
int *c;
c=a;
a=b;
b=c;
}
int main()
{
int x=3,y=5,*p=&x,*q=&y;
fun(p,q);
printf("%d,%d\n",*p,*q);
fun(&x,&y);
printf("%d,%d",*p,*q);
}
我认为fun函数会把p和q的值相互对调,所以p会指向y,q会指向x,同理,由于&x和&y的值互相对调,会使p会指向x,q会指向y,我认为结果是5,3
3,5
但实际结果是3,5 ,请大家帮我分析一下这个程序,谢谢啦~
3,5