#include <stdio.h>
/* int *p;
//p=&a;
*p=100;
printf("%d",*p);
/
/ int a[10];
for(int i=0;i<10;i++)
{
if(i>5&&i<10) a[i]=1; *p=100
else a[i]=i;
}
for(int i=0;i<10;i++)
{printf("%d\t",a[i]);}
*/
/*int a=12,b=23;
int *p1,*p2,*t;//注意:此处t要定义为指针类型,才可以和两个指针变量交换
p1=&a;p2=&b;
if(*p1<*p2)
{
t=p1;p1=p2;p2=t;
}
printf("%d\t%d\t",*p1,*p2);
/
/
int t;
int swep(int *p1,int *p2)
{ if(*p1>*p2)
t=*p1;*p1=*p2;*p2=t;
}
int main()
{
int a=12,b=23;
int *p1,*p2;
p1=&a;p2=&b;
printf("%d\t%d",swep(a,b));
///用指针交换数
/
int main()
{
void swep(int *, int *);// √
// void swep(int ,int ); // 易错
int a=12,b=23;
int *p1,*p2;
p1=&a;
p2=&b;
if(a<b) swep(p1,p2);
printf("%d\t%d\t",a,b);
return 0;
}
void swep(int *p1,int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
/
///交换数 址传递
int main()
{
void swep(int *,int *);
int a=12,b=23;
int *x1,*x2;
x1=&a,x2=&b;
if(a<b) swep(x1,x2);//易误写成swep(*x1,*x2)
printf("%d\t%d\t",a,b);
return 0;
}
void swep(int *x1,int *x2)//表定义了指针变量x1,x2.*x1,*x2表示指向的变量地址
{ int c=0;
int *t=&c;
*t=*x1;*x1=*x2;*x2=*t;
}
/
值传递
/
int main()
{
void swep(int,int);
int a=11,b=2;
if(a>b) swep(a,b);
printf("%d\t%d",a,b);
}
//程序解读:定义两个整型变量a,b。调用swep函数,进行单向传递,
//实参ab传值给形参x1,x2。换值以后形参不能再传给实参
void swep(int x1,int x2)
{
int t;
t=x1;x1=x2;x2=t;
}
//址传递
/
int main()
{
void swep(int*,int*);
int a=12,b=345;
int *x1,*x2;
x1=&a;x2=&b;
if(a<b) swep(x1,x2);
printf("%d\t%d",a,b);
}
void swep(intx1,intx2)
{
int t;
t=*x1;*x1=*x2;*x2=t;
}
*/用指针变量作为函数参数,实现改变主调函数内的变量值改变,保留,并使用