DAVID J. MALAN: Déanaimis scríobh le clár i a iarracht muid a mhalartú luachanna dhá athróg, x agus y. I ré, scríobh mé i bhfad den chlár seo cheana. Gcéad dul síos, Dearbhaím athróg, x, agus a stóráil ann ar an luach, 1. Ansin Dearbhaím y athraitheach agus stóráil ann ar an luach, 2. Ansin dul ar aghaidh mé le printf a thaispeáint na luachanna atá ag an dá athróg. Ansin Éilím leis printf eile a bheith ag malartú na hathróga. Ansin Iarraim feidhm a dtugtar babhtála. Agus ansin éileamh go bhfuil an athróg bheith Mhalartaigh. Agus ansin a phriontáil mé amach go bhfuil an méid a éileamh agam Is iad na luachanna nua x agus y. Anois, cad é an mbabhtáil fheidhm? Níl sé rud éigin a thagann le C. Go deimhin, má táimid ar an bharr mo comhad, beidh tú faoi deara go bhfuil mé a dhearbhú fréamhshamhail ar an babhtála fheidhm ag sonrú go dtógann sé dhá ints, ar a dtugtar go treallach a agus b, agus tá sé seo Ní feidhm rud ar bith ar ais. Mar sin, is dócha, a dhéanann sé cad a deir sé i babhtálacha ar agus luachanna b ar. A ligean ar a chur i bhfeidhm anois babhtála. Gcéad dul síos, tá mé ag dul a dhearbhú sealadach athraitheach agus a shannadh dó an luach i, cé go raibh mé in ann ach mar atá stóráilte go héasca i sé b. Ansin tá mé ag dul a athrú ar an luach de bheith comhionann leis sin i b. Agus ansin ar deireadh, tá mé ag dul a athrú ar an luach b a bheith cad a bhí ach anois i teocht. Anois, a éileamh agam cad tá mé a rinneadh díreach Is loighciúil ceart. Tá mé stóráil ar i athróg sealadach, athraigh luach ar a bheith b, agus ansin athraigh luach b a bheith cad a bhí ina a. Ach nuair mé a thiomsú agus a reáchtáil seo clár, imní orm nach bhfuil go ag dul méid a fheiceann mé. Déan, gan aon babhtála. ponc Slais, gan aon babhtála. Agus ar an drochuair, de réir printf, an luach ar x agus y, fiú tar éis éileamh dúinn a bheith swapping iad, is é fós 1 agus 2. Anois fáth go bhfuil sin? Bhuel, casadh sé amach go bhfuil i is mó, nuair a muid glaoch ar an babhtála fheidhm, ag dul i x agus y mar argóintí, tá sé i ndáiríre cóipeanna de x agus y a iad a rith i babhtála. Eadhon, go bhfuil a gcuid luachanna 1 agus 2 Ritheadh ​​babhtála mar a agus b. Agus tá sé a agus b go bhfuil muid ar deireadh thiar swapping i is mó. Is é sin, thiocfaidh chun bheith 1 2, 2 thiocfaidh chun bheith 1. Ach toisc go bhfuil aon luach ar ais babhtála agus toisc go bhfuair sé cóipeanna de x agus y, tá sé iompar tar éis aon éifeacht ar an x ​​agus y. Go deimhin, a agus b scoped, mar a déarfá, a mhalartú, ach fós x agus y scoped chuig príomh. Mar sin, tá fadhb againn. Ach conas a shocrú é?