Rumah > Soal Jawab > teks badan
在一个交换函数中,a和b的值进行交换,使用inout参数传值,这样函数对参数所做的修改将会影响参数本身,但是为什么在swap函数里的print没有被执行?
func swap(inout a : Int , inout b : Int){
let tmp = a
print("123")
a = b
b = tmp
}
var a = 6
var b = 9
print("交换之前,a的值是\(a),b的值是\(b)")
swap(&a, &b)
print("交换之后,a的值是\(a),b的值是\(b)")
输出的结果是:
交换之前,a的值是6,b的值是9
交换之后,a的值是9,b的值是6
swap函数里的print哪里去了???
伊谢尔伦2017-04-17 17:54:05
Saya juga keliru apabila saya mula-mula membaca soalan itu.
Saya membuka taman permainan dan mencubanya, hanya untuk mengetahui:
Walaupun anda menentukan fungsi swap baharu di atas.
Oleh itu, penyelesaiannya ialah menukar nama fungsi...
Dengan cara ini, izinkan saya memberitahu anda:
Di Swift, untuk menukar dua nilai, anda boleh melakukan ini
(a, b) = (b, a)