【发布时间】:2021-03-17 14:48:42
【问题描述】:
我正在学习使用 Swift Playgrounds 进行编程,但我不理解“嵌套循环”一节中的某些内容。我试图概括它,因为我的问题是关于计算机如何运行代码的非常基本的问题。所以这是一个伪代码:
当 A {While A {!A}, A}
它表示当 A 执行以下操作:当 A 执行非 A,否则执行 A。
问题 #1:假设初始状态是 A。这意味着 While 循环已启动,嵌套的 While-Loop 也是如此!A。我希望此时 both While-Loops 停止,因为这两个条件都是错误的。但似乎发生的事情是这样的:只有内部 while 循环(执行 !A)因为 !A 而停止,然后 A 完成,然后外部 While 循环再次被检查并被启动(因为 A 为真)和整个事情无限重复。这个观察是真的吗?计算机是这样进行嵌套的 while 循环的,只有内部循环,如果内部循环失败,他会切换到外部循环?
问题 #2:我问是因为我们不这么认为。如果一个人执行如下命令:while A 执行以下操作:while A,执行 Non-A,否则为 A,他会在内部 while 循环产生 !A 后放弃整个命令,因为他会看到现在两个循环都由于!A而崩溃。至少我是这么想的还是我在这里想错了?
【问题讨论】:
标签: while-loop