|
发表于 2013-2-25 21:45:46
|
显示全部楼层
简单的说下~1.切记指针变量也是一个变量
int fun(int q )
{
q ++ ;
}
int main(void)
{
int a = 10 ;
fun (a) ;
printf("a的值为: %d" , a ) ;
return 0 ;
}
在这里a的值会变化吗?
2.在被调函数中改变主函数中变量的值,只讨论在C语言下,那么方法就一个把变量的指针作为参数传递。
所以
#include <stdio.h>
int a, b;
void exchange(int *po1, int *po2);
void main()
{
int *p1, *p2;
scanf("%d%d", &a, &b);
p1=&a;
p2=&b;
if(a<b)
exchange(&p1, &p2); // 这里不在传递指针变量,传递的是指针变量的指针(地址)
printf("%d>%d", *p1, *p2);
}
void exchange(int **po1, int **po2)
{
int *p;
p=*po1;
*po1=*po2;
*po2=p;
}
你这个程序改成这个样子就行了
|
|