关于两数交换的两种方法

目录

前言

一、引入变量(**这个方法也是最常用的方法**)

二、通过使用数学的方法相加或者相减从而得到两数运算(这种方法不常见)

总结


前言

从键盘输入两个整数,并交换两位数字,这里小编用两种方法告诉大家~~

(注意小编这里用的是VS2019,所以在代码的开头要加入宏定义#define _CRT_SECURE_NO_WARNINGS)

一、引入变量(**这个方法也是最常用的方法**)

这个方法也是最简单的方法,我们通过第三方变量先将数据保存下来,然后通过第三方变量将两个数交换,注意这里的数据类型要保持一致

#define _CRT_SECURE_NO_WARNINGS
#include
int main() {
    int a, b;
    int c;
    scanf("%d %d", &a, &b);
    c = a;
    a = b;
    b = c;
    printf("%d %d", a, b);
}

运行结果

10 20
20 10
D:\c程序\1\Debug\1.exe (进程 2668)已退出,代码为 0。
按任意键关闭此窗口. .

二、通过使用数学的方法相加或者相减从而得到两数运算(这种方法不常见)

优点:变量减少

缺点:存在数据溢出的可能,一般企业不会选择用这种方法,所以大家了解一下第二种方法就可以了~~

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    a = a + b;
    b= a - b;
    a = a - b;
    printf("%d %d", a, b);
}

运行结果

100 20
20 100
D:\c程序\1\Debug\1.exe (进程 18600)已退出,代码为 0。
按任意键关闭此窗口. . .

总结

方法一是大家常见简单的方法,方法二是通过数学思维交换函数,当然还有一种方法,可以根据方法二用异或的方式来进行两个数的交换,欢迎大家向小编提问第三种方法

你可能感兴趣的:(c语言,c语言)