TC官方合作论坛

标题: 求帮忙,数组调用越界 [打印本页]

作者: zax1993    时间: 2012-8-9 11:22
标题: 求帮忙,数组调用越界
  1. 功能 逻辑型 获取账号密码()
  2.     整型 长度=列表框.得到个数("列表框0")
  3.     如果 (长度==0)
  4.         辅助.消息框("列表里没有账号密码")
  5.         返回 假
  6.     如果结束
  7.     字符型[] 返回值=字符型[2]
  8.     账号密码=字符型[10][2]
  9.     整型 计数=0
  10.     循环 (真)
  11.     字符型 内容=列表框.获得文本("列表框0",计数)
  12.     字符串.分割(内容,"|",返回值)
  13.     账号密码[计数][0]=返回值[0]//第0行第0列获得账号
  14.     账号密码[计数][1]=返回值[1]//第0行第1列获得密码
  15.     计数=计数+1//千万别忘记,不然死循环
  16.     如果 (计数>长度)
  17.         跳出
  18.     如果结束
  19. 循环结束
  20. 返回 真
  21. 功能结束

  22. 功能 逻辑型 按钮2_点击()
  23. 账号密码=字符型[10][2]
  24. 自动登录.获取账号密码()
  25. 线程.开启("自动登录.获取客户端路径","")
复制代码



用断点查看   错误出在“ 账号密码[计数][0]=返回值[0]”    当循环完第三次   计数等于3的时候    进行第四次循环跳出   就会弹出数据调用越界的提示  然后程序崩溃掉
作者: zax1993    时间: 2012-8-9 11:24
难道是返回值数组的定义出错?

编一个自动登陆用了两天还漏洞百出   以后编游戏脚本的时候   天晓得要编几年

没准等我编好的时候  游戏已经倒闭了
作者: 梦里只影向你    时间: 2012-8-9 11:37
  如果 (计数>长度)  应该是  如果 (计数>长度-1)

还有 你定义的   账号密码=字符型[10][2]

最后的那个数是 账号密码[9][1]


你调用的
账号密码=字符型[10][2]
自动登录.获取账号密码()
肯定越界了
作者: zax1993    时间: 2012-8-9 11:47
回复 3楼梦里只影向你的帖子

多谢指点啊   纯新手  按照视频照抄的   数组学的不怎么样
作者: zax1993    时间: 2012-8-9 11:51
回复 3楼梦里只影向你的帖子

但是有一点没想明白  
长度减一  循环完就跳出去了

但是视频上没有减一  为什么也能正常执行
作者: 梦里只影向你    时间: 2012-8-9 11:59
可能用的while(计数<长度)
endwhile

这个长度是数组的维数,计数是数组的下标.下标是从0-长度-1的
你弄清楚他们之间的关系了就知道什么时候要-1




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1