不理解賦值與被賦值的關(guān)系?
為啥我寫(xiě)反了就不行:string boy="秀麗"; ?//男孩的名字 string girl="偉強(qiáng)"; ?//女孩的名字 string temp; ? ?//中間的變量boy=temp; ?//把男孩的名字賦值給temp girl=boy;//把女孩的名字賦值給男孩temp=girl;//把temp中的名字賦值給男孩console.writeline("男孩叫"+boy+"女孩叫"+girl);(我的解釋?zhuān)合劝裝oy給了temp,然后boy就空了,再把girl給boy,然后girl就空了,最后把temp給grill, 這就結(jié)束了。 為什么就是報(bào)錯(cuò)。? 理應(yīng)的說(shuō)右邊不是賦值嗎? 就等于上圖的牛奶,AB(等于這里中間的變量)C, A放入B,A杯就空了,然后C杯就放入A,C就空了,然后再把B放入C。) 然后我題就是這樣做的,就是錯(cuò)的。求解釋
2017-06-17
賦值語(yǔ)句中等號(hào)的左邊是被賦值的變量,等號(hào)右邊是賦值變量,即右向左傳,例如:把boy值賦給temp當(dāng)寫(xiě)成temp=boy;
2017-06-17
你好,首先說(shuō)一點(diǎn),賦值= 是把等號(hào)右邊的值,賦值給等號(hào)左邊的變量,如果你問(wèn)我為什么是把右邊的值賦值給左邊,而不是把左邊的值賦值給右邊?我只能告訴你,這是一個(gè)大家約定好的規(guī)則,就像 “紅燈停,綠燈行”,而不是“紅燈行,綠燈?!?;同時(shí)在c#,c,java等編程語(yǔ)言中,也是這樣規(guī)定的。
再一點(diǎn),如果把a(bǔ)的值賦值給b,a的值是不改變的,你可以暫時(shí)先把“賦值”當(dāng)成“復(fù)制”。下面看個(gè)小例子:
運(yùn)行結(jié)果為:
,會(huì)發(fā)現(xiàn),a2的值變了,a1的值沒(méi)有變,也沒(méi)有為空。
最后說(shuō)下,2個(gè)值交換值得寫(xiě)法,你的主要思路是對(duì)的,主要是對(duì)賦值還沒(méi)有完全掌握而已。把之前代碼中賦值語(yǔ)句兩邊調(diào)換一下就可以了。
如果還有不懂得地方,可以繼續(xù)回復(fù)我。如果覺(jué)得回答還不錯(cuò)的話,麻煩采納一下哈!