楼主: yolin
4600 5

请教,关于数组下标越界。 [推广有奖]

  • 0关注
  • 0粉丝

初中生

38%

还不是VIP/贵宾

-

威望
0
论坛币
63 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
329 点
帖子
12
精华
0
在线时间
4 小时
注册时间
2008-1-10
最后登录
2022-8-31

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
DATA if_time_2;
set if_time_1;
array temprh{10} TD_1-TD_10;
do i=1 to 10;
if temprh{i}<='0' then temp=temprh{i-1};
end;
run;


程序如上,运行结果显示:
在行94列29处数组下标越界。

请教如何解决,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:下标越界 array time Temp Data 请教 越界

回帖推荐

crackman 发表于4楼  查看完整内容

DATA if_time_2; set if_time_1; array temprh{10} TD_1-TD_10; do i=1 to 10; if temprh{i}

本帖被以下文库推荐

沙发
nkwilling 发表于 2010-4-16 13:51:51 |只看作者 |坛友微信交流群
由于array默认从下标为1开始,你这种情况很有可能在do i=1处满足条件,于是temp=temprh{i-1}=temprh{0},现在这是不存在的值。

使用道具

藤椅
yolin 发表于 2010-4-16 14:11:52 |只看作者 |坛友微信交流群
哦。谢谢版主了。

使用道具

板凳
crackman 发表于 2010-4-16 17:06:37 |只看作者 |坛友微信交流群
DATA if_time_2;
set if_time_1;
array temprh{10} TD_1-TD_10;
do i=1 to 10;
if temprh{i}<='0' and i^=1  then temp=temprh{i-1};
else temp=temprh{1};
end;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

使用道具

报纸
pingguzh 发表于 2012-11-22 17:00:15 |只看作者 |坛友微信交流群
楼上的程序数组名字错误,应该加上括号
统计爱好

使用道具

地板
cswang1992 发表于 2015-11-16 15:35:59 |只看作者 |坛友微信交流群
Thanks very much. The solution is very helpful

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 04:04