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