指针变量问题
现在有一个例子其中部分没看懂!#include<stdio.h>
void main()
{
void swap(int *p1, int *p2);
int a,b;
int *pointer_1,*pointer_2;
scanf("%d,%d",&a,&b);
pointer_1=&a,pointer_2=&b;
if(a<b) swap(pointer_1,pointer_2);
printf("\n%d,%d\n",a,b);
}
void swap(int *p1, int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
其中1、if(a<b) swap(pointer_1,pointer_2); 中为什么不可以用*pointer_1,*pointer_2呢? 而函数swap中用的是*p1,*p2呢?
2、为什么这个函数用的是指针却把a,b的数值交换了?
3、为什么我在输出结果,比如输入23 52 结果却是23,-858993460 这个结果呢? 其他数字输入最后一个都是-858993460用的是VC++ 6.0的编译器
[[it] 本帖最后由 小小熊宝宝 于 2008-9-2 10:59 编辑 [/it]]