自定义交换a,b的函数
错误版本1 未初始化指针
#include<stdio.h>
void fun(int *x,int *y)
{
int *k;
*k=*x;*x=*y;*y=*k;
}
int main()
{
int a=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf("%d %d",a,b);
return 0;
}
错误版本2 直接在自定义函数里使用指针p而非*p形式
我也不知道这个为啥错希望有高人看到指点一下
#include<stdio.h>
void fun(int *x,int *y)
{
int c=0,*k=&c;
k=x;x=y;y=k;
}
int main()
{
int a=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf("%d %d",a,b);
return 0;
}
正确版本
#include<stdio.h>
void fun(int *x,int *y)
{
int c,*k=&c;
*k=*x;*x=*y;*y=*k;
}
int main()
{
int a=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf("%d %d",a,b);
return 0;
}