gpt4 book ai didi

Swift:为什么这个 Swift Challenge 的答案是 -3?

转载 作者:行者123 更新时间:2023-11-28 15:31:41 25 4
gpt4 key购买 nike

Swift 语言问题

大家好,我是编程新手,感谢您的耐心等待。我目前正在通过各种平台学习。以下是我答对的一道题,但我不明白为什么。

如果您能向我解释答案,我将不胜感激。

“c”的值是多少?

    var a = 3
let b = a++
let c = -b

答案是-3,但我不知道为什么。我知道的意义在于 b 和 c 不可变和 a 可变之间的区别。

a** 是一个递增器(相当于 +=1)所以我会认为答案是 -1?

最佳答案

注意: 该代码仅在 Swift 3 之前的 Swift 2 及更低版本中有效,因此这更多地是关于算法的讨论。


你有这个代码:

var a = 3
let b = a++
let c = -b

让我们逐行来看:

var a = 3

这声明了一个变量 a 并将其初始化为 3a 的当前值为 3。然后:

let b = a++

这会将 b 的值设置为 a 的初始(当前)值,即 3 并使用后递增运算符++ 增加 a 的值 after b 的值设置为 3。所以 a 现在等于 4,但是 b 仍然是 3

let c = -b

c被声明并初始化为-bb当前为3,所以 c 变为 -3


也就是说,您的代码等同于:

var a = 3
let b = a; a += 1
c = -b

关于Swift:为什么这个 Swift Challenge 的答案是 -3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44672769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com