Como trocar a e b
1 Troca de função direta sem sucesso
#include <stdio.h>
void swap(int a ,int b)
{
printf("swap a=%d b=%d\n",a,b);
int t = a;
a = b;
b =t;
printf("swap end a=%d b=%d\n",a,b);
}
int main()
{
int a = 1;
int b = 10;
swap(a,b);
printf("a=%d b=%d\n",a,b);
return 0;
}
打印 :
troca a = 1 b = 10
troca final a = 10 b = 1
a = 1 b = 10
Troca de 2 ponteiros bem-sucedida
#include <stdio.h>
void swap(int *a ,int *b)
{
printf("swap a=%d b=%d\n",*a,*b);
int t = *a;
*a = *b;
*b =t;
printf("end swap a=%d b=%d\n",*a,*b);
}
int main()
{
int a = 1;
int b = 10;
swap(&a,&b);
printf("a=%d b=%d\n",a,b);
return 0;
}
troca a = 1 b = 10
final troca a = 10 b = 1
a = 10 b = 1