交换两个变量 a b
首先想到的方法就是,引入第三个变量tmp;
#include<stdio.h>
int main()
{
int a,b,tmp;
scanf("%d,%d",&a,&b);
tmp=a;
a=b;
b=tmp;
printf("%d %d",a,b);
return 0;
}
当然还有其他的方法,如果只想使用两个变量呢?
方法1:使用加减运算符
#include<stdio.h>
int main()
{
int a,b;
scanf("%d,%d",&a,&b);
a=a+b;
b=a-b;
a=a-b;
printf("%d %d",a,b);
return 0;
}
方法2:使用位运算符——^
#include<stdio.h>
int main()
{
int a,b;
scanf("%d,%d",&a,&b);
a=a^b;
b=a^b;
a=a^b;
printf("%d %d",a,b);
return 0;
}
当然这些方法都不适合用于竞赛,因为效率和不是很高,来个最高效的方法:
#include<stdio.h>
int main()
{
int a,b;
scanf("%d,%d",&a,&b);
printf("%d %d",b,a);
return 0;
}
当然,从知识层面,我建议大家多了解一点,但是从实际应用,我建议就用最后一个完全可以。