TC官方合作论坛

 找回密码
 立即注册
查看: 3090|回复: 10

[已解决] 调用数组越界(已解决)

[复制链接]
发表于 2012-6-11 11:21:39 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
用大漠OCR识别,识别到可能为
case1:1,2,3
case2:1,2,3,4
case3:4,2
case4:2,
最长为4个数组
等等
如果识别到的数字有大于4则返回真否则返回假
string【】 sz=sring【3】
while(i<4)
if(convert.strtoint(djpd【i】,0)>3)
zt=真
break
else
zt=假
endif
i=i+1
if(djpd【i】=="")
    break
endif
endwhile
当情况为case1,3,4的时候就会弹出调用数组越界了- -怎么防止呢!
回复

使用道具 举报

发表于 2012-6-11 12:44:49 | 显示全部楼层
计算djpd【i】数组的长度呗..
整型 长度=0
数组.大小(djpd,长度)
回复 支持 反对

使用道具 举报

发表于 2012-6-11 11:44:39 | 显示全部楼层
数组大小  超出范围了吧。 判断下吧。
回复 支持 反对

使用道具 举报

发表于 2012-6-11 11:45:15 | 显示全部楼层
看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-11 11:45:42 | 显示全部楼层
回复 2楼TakeBobo的帖子

知道超出了是如何判断呢?
if(djpd【】=="")
    break
endif
这样子不行啊
回复 支持 反对

使用道具 举报

发表于 2012-6-11 11:46:02 | 显示全部楼层
string【】 sz=sring【3】
你的数组初始化大小为3,当数组大小大于3时 就会出现越界
你可以初始化大小大一点
string【】 sz=sring【5】
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-11 11:49:35 | 显示全部楼层
回复 5楼冷月无痕的帖子

是长度最长为4,当只有有1个长度或者2个长度,3个的时候就报错
回复 支持 反对

使用道具 举报

发表于 2012-6-11 12:01:09 | 显示全部楼层
是你调用数组越界了。  数组大小是没问题。
   自己设置断点调试下吧。
回复 支持 反对

使用道具 举报

发表于 2012-6-11 14:06:47 | 显示全部楼层
变态的方法是定义数组string【】 sz=sring【10000】,就不会报越界了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-11 16:44:43 | 显示全部楼层
回复 9楼yvyan的帖子

是定义的长导致的- -帅哥
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-11 16:15 , Processed in 0.038387 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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