这是因为i--将执行在递减操作之前给出值的结果.但是,在--i我将使用其值之前将减少.
为了更好地理解它:让我们使用你的例子:
i=2;
Run Code Online (Sandbox Code Playgroud)
情况1:
while(i+1?--i:14)
Run Code Online (Sandbox Code Playgroud)
第一遍:
条件i+1?--i:14将被评估为2+1 ? 1 : 14
将返回1.循环将被执行并i包含该值1.
第二遍:
条件i+1?--i:14将被评估为1+1 ? 0 : 14
将返回0.因此循环将不会被执行,因此您将获得输出1.
案例2:
while(i+1?i--:14)
Run Code Online (Sandbox Code Playgroud)
第一遍:
条件i+1?i--:14将被评估为2+1 ? 2-- : 14
将返回2.循环将被执行并i包含该值1.
第二遍:
条件i+1?i--:14将被评估为2+1 ? 1-- : 14
将返回1.循环将被执行并i包含该值0.
while在这种情况下,循环将执行两次.
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |