对于条件语句for中变量的赋值位置对于结果的影响
当我们使用for语句的时候,我们对于变量有三种赋值方法。第一种是正常的赋值情况,如图1:
于是我们得到了结果下图结果:
此时我们得到的结果是符合预期的。此时如果我们在换一种相近的赋值方法即:
此时它的结果为:
我们发现其结果与图一的结果一致,由此得出两者等价。
但是如果我们再换一种赋值方式即为:
此时结果便发生了变化,得到了如下图的结果:
由此我们推测出在括号外可以定义一个变量,但是我们不可以直接在括号(以下的括号都是指圆括号即为迭代语句的括号)外赋值,如果在括号外赋值则每一次运算的默认值都是括号外的值,默认值不会进行括号内运算。那么如果此时我们在括号内重新赋值呢?即:
此时我们会得到与图一结果相同的结果即:
并且经验证此时如果我们将括号内的值赋为与括号外的数值不同的话,计算采用的依旧是括号内的值。由此我们得出一个结论:迭代语句是一个整体,在迭代语句中的值被二次赋值只在迭代语句中有效,如果在迭代语句外为其变量赋值,则不起作用,计算将使用初始值进行运算。