risc-v中文社区

 找回密码
 立即注册
查看: 759|回复: 0

lua循环与c/c++等的不同

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2022-6-17 15:45:07 | 显示全部楼层 |阅读模式
for i=0,2 do
  print(i)
  i=3
end
print("i=",i)

打印显示如下:
0
1
2
i=nil

这个代码如果是C语言,则第二次循环时就会退出了,原因就是i=3之后循环条件判断不成功,
但lua却能继续循环执行,这是因为lua在启动循环时,就会将起始两个变量值要先计算出来,
然后再执行循环体中的代码,所以,即使在循环体中改变了循环变量值也不会对循环有什么影响。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-5-6 06:30 , Processed in 0.017434 second(s), 26 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表