楼主: yolin
4920 5

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

  • 0关注
  • 0粉丝

初中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
63 个
通用积分
0.3083
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
362 点
帖子
13
精华
0
在线时间
7 小时
注册时间
2008-1-10
最后登录
2025-6-30

楼主
yolin 发表于 2010-4-16 13:42:49 |AI写论文

+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
拉您进交流群
GMT+8, 2025-12-26 03:33