lua编程练习(猜数字游戏)

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,b

end

该段代码功能:比较两个表中相同元素个数(代码中a)和相同元素且下标相同的个数(代码中b),如table1={1,2,3,4},table2={1,3,5,4}则a=3,b=2

问题:a,b返回值总是等于0

傅里叶变坏
浏览 2280回答 1
1回答

慕瓜5323351

总共有两处错误:第一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,bendtable1={1,2,3,4}table2={1,3,5,4}t1,t2=back(table1,table2)print(t1,t2)
打开App,查看更多内容
随时随地看视频慕课网APP