指针基础问题
#include <stdio.h>/*
本意是想通过swap函数,交换两个指针变量存放的两个变量的地址,但目测该函数完全无效
*/
void swap( int *pointer_1, int *pointer_2)
{
int *p;
p = pointer_1;
pointer_1 = pointer_2;
pointer_2 = p;
}
int main(void)
{
int i;
int j;
int *pointer_max;
int *pointer_min;
scanf("%d",&i);
scanf("%d",&j);
pointer_max = &i;
pointer_min = &j;
if(i < j)
swap(pointer_max, pointer_min);
printf("max = %d , min = %d\n", *pointer_max,*pointer_min);
return 0;
}
刚接触指针这一块,自己写了一个小程序,运行发现了有很大问题,但编译器并不报错、
具体如上所述,经过查资料,感觉问题是因为swap函数中定义的 int *变量 p,并没有一个确定值,导致p指向的单元不可预见
但还是不是十分明白,可以请高手详细讲解一下吗