今天分享一个简单的程序-交换两个数的值:
方法一:定义一个中间变量来交换两个数的值
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b,temp = 0;
printf("Please input the a and b:");
scanf_s("%d %d",&a,&b);
temp = a;
a = b;
b = temp;
printf("%d %d",a,b);
system("pause");
return 0;
}
方法二:不允许定义中间变量,直接强行两数交换
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b;
scanf_s("%d %d",&a,&b);
a = a + b;
b = a - b;
a = a - b;
printf("%d %d",a,b);
system("pause");
return 0;
}
执行结果如下:
讲下方法二,先把a+b的值存在a中这样a的值就是a+b,b是原来的b,然后把a-b的值存到b中,然后a的值为a+b,b的值为a,最后把a-b的值存到a中,这样a和b的值就得以交换。
当然永远记住一点就是a,b的值不能直接用a=b这样的话来交换的,这样是不能交换的。