C语言042讲第八分钟代码拓展,交换a与b的地址保持a与b的值不变,为什么无法成功
C语言042讲第八分钟代码拓展,交换a与b的地址保持a与b的值不变,为什么无法成功#include <stdio.h> //实现比较大小,输出先大后小
void swap(int *m,int *n);
void main()
{
int *p,*q;
int a,b;
scanf("%d%d",&a,&b);
p=&a;
q=&b;
if(a<b)
{
swap(p,q); //如果a>b,交换a和b
}
printf("%d%d\n",a,b);
printf("%d > %d\n",*p,*q);
}
void swap(int *m,int *n) //实现a和b的地址交换,保持a和b的值不变。
{
int *t;
printf("^_^\n");
t=m;
m=n;
n=t;
} #include <stdio.h> //实现比较大小,输出先大后小
void swap(int *m,int *n);
void main()
{
int *p,*q;
int a,b;
scanf("%d%d",&a,&b);
p=&a;
q=&b;
if(a<b)
{
swap(p,q); //如果a>b,交换a和b
}
printf("%d%d\n",a,b);
printf("%d > %d\n",*p,*q);
}
void swap(int *m,int *n) //实现a和b的地址交换,保持a和b的值不变。
{
int t;
printf("^_^\n");
t=*m; //形参传下来怎么被该了?
*m=*n; //声明t的时候不应该把它声明成指针
*n=t;
} C语言出新系列《带你学C带你飞》啦,比《零基础入门学习C语言》更深入,更详细,更实用!建议看下新的教程,旧的不要看啦~{:10_319:}
页:
[1]