C语言练习(6)——在不引用其他变量时交换两个值

    科技2022-08-05  106

    上次有一个非常牛掰的师兄考我一个问题: 如何在不引用其他变量的情况下,去交换两个值? 刚开始我有点蒙圈:一般我的做法是引入一个变量,直接交换即可:

    #include <stdio.h> int main() { int i=4,j=7; int x; //引用变量X x=i; i=j; j=x; printf(" i=%d \n j=%d",i,j); getch();//窗口保留函数,调试使用 return 0; }

    如果要用两个值去交换,那么肯定就要引入运算了。胡乱算一下,哎还真算出来了。 其实也非常简单,也是三条语句:i=i+j; j=i-j; i=i-j;

    #include <stdio.h> int main() { int i=4,j=7; i=i+j;//i=11, j=7 j=i-j;//i=11, j=11-7=4; i=i-j;//i=11-4=7, j=4 printf(" i=%d \n j=%d",i,j); getch();//窗口保留函数,调试使用 return 0; }
    Processed: 0.017, SQL: 8