void swap(int *a,int *b) //定义函数
{
int t; //输入一个整型t
t=*a;
*a=*b;
*b=t; //交换 *a,*b
}
int main() //主函数
{
int m,n; //输入整型 m n
int *p1,*p2;// 输入两个指针变量
scanf("%d %d",&m,&n); //输入两个值
p1=&m; //把m的地址给p1
p2=&n; //把n的地址给p2
swap(p1,p2);//调用函数
printf("m=%d n=%d",m,n);//输出
return 0;//返回值0
}
10 20
m=20 n=10
--------------------------------
Process exited after 5.124 seconds with return value 0
请按任意键继续. . .
总结: 每次写程序时都没有清晰的思路,只有慢慢写草稿,一次次的编译,有时候写到最后编译成功,不知道代码的意思。对指针还不熟悉。
二:*m是指针变量,m无确定的值,不可见,会破环正常工作。
三:实参和形参都是单向值传递的,用指针可以得到多个变化值。
int max(int *a,int *b)//定义max函数
{
if(*a>*b) //比较大小
return(*a); //返回较大值
else
return(*b);
}
int main()
{
int m,n,t;
int *p1,*p2;
scanf("%d %d",&m,&n);
p1=&m;
p2=&n;
t=max(p1,p2); //调用函数,把最大值赋值给t
printf("%d
",t);//输出t
}
100 200
200
--------------------------------
Process exited after 7.521 seconds with return value 4
请按任意键继续. . .
总结:写此程序时在scanf后面忘写了&,说明程序是敲出来的。