#include<stdio.h>
void swapl(int a,int b)
int t;
t=a;
a=b;
b=t;
void main()
{
int a=3;
int b=5;
if(a<b)
swapl(a,b)
printf(“互换后结果为%d %d\n“, a, b);
}
因为修改形参不影响实参
你想让它反过来作用于实参
那么全部都要改成指针
其实就类似于int a=0;
int b=a;
b=2;
修改了b,但是a的值没变,一个道理
你想在修改b的时候能改变a,那么要这样
int *b=&a;
*b=2;
swapl函数的参数改成指针的形式,传址,不是传值
swap的参数int a,int b只能作为输入,不能作为返回值,如果要返回,程序修改如下所示:
#include<stdio.h>
void swapl(int *a,int *b)
{
int t;
t=*a;
*a=*b;
*b=t;
}
int main()
{
int a=3;
int b=5;
if(a<b)
swapl(&a,&b);
printf("互换后结果为%d %d\n", a, b);
return 0;
}