全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4891 5
2010-04-16
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处数组下标越界。

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

扫码加我 拉你入群

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

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

全部回复
2010-4-16 13:51:51
由于array默认从下标为1开始,你这种情况很有可能在do i=1处满足条件,于是temp=temprh{i-1}=temprh{0},现在这是不存在的值。
二维码

扫码加我 拉你入群

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

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

2010-4-16 14:11:52
哦。谢谢版主了。
二维码

扫码加我 拉你入群

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

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

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;
二维码

扫码加我 拉你入群

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

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

2012-11-22 17:00:15
楼上的程序数组名字错误,应该加上括号
二维码

扫码加我 拉你入群

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

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

2015-11-16 15:35:59
Thanks very much. The solution is very helpful
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群