交換兩個變量:例如num1=5,num2=6→num1=6,num=5
怎麼樣?是不是覺得灰常簡單,你是不是用下面的方法做的:
int num1=5;
int num2=6;
int temp=num1;
num1=num2;
num2=temp;
Console.WriteLine("num1={0},num2={1}",num1,num2);
好吧!你贏了!你做的非常對!就就是所謂的值傳遞 聲明一箇中間變量temp!沒有可說的!大家都懂的!
接着我們來看下面這個比較犀利的出題人:
面試題:
不允許聲明任何中間變量來交換兩個變量的值:例如num1=5,num2=6→num1=6,num=5
汗~~~~~!!搞什麼搞啊!你這不是難爲我嘛!!一般遇到這樣的情況我們都要打破常規了!
不賣關子了,下面我們來看一下它的解決辦法吧:
int num1=5;
int num2=6;
num1+=num2;
num2=num1-num2;
num1=num1-num2;
Console.WriteLine("num1={0},num2={1}",num1,num2);
相信你一定有所收穫吧!程序也簡單易懂!!!獻給那些還在面試的程序員!!希望你們找個好工作!