function back(table1,table2) local a,b=0,0 for i=0,#table1 do for j=0,#table2 do if table2[j]==table[i] then a=a+1 if i==j then b=b+1 end end end end return a,bend该段代码功能:比较两个表中相同元素个数(代码中a)和相同元素且下标相同的个数(代码中b),如table1={1,2,3,4},table2={1,3,5,4}则a=3,b=2问题:a,b返回值总是等于0
1 回答
慕瓜5323351
TA贡献1条经验 获得超1个赞
总共有两处错误:第一lua表的下标是从1开始而不是从0;第二if table2[j]==table[i]这里错了,table[i]改成table1[i]才对
function back(table1,table2)
local a,b=0,0
for i=1,#table1 do
for j=1,#table2 do
if table2[j]==table1[i] then
a=a+1
if i==j then
b=b+1
end
end
end
end
return a,b
end
table1={1,2,3,4}
table2={1,3,5,4}
t1,t2=back(table1,table2)
print(t1,t2)
- 1 回答
- 0 关注
- 2337 浏览
添加回答
举报
0/150
提交
取消