楼主: gdhuangsha
1897 5

请问如何解释下面这个程序? [推广有奖]

  • 0关注
  • 0粉丝

初中生

38%

还不是VIP/贵宾

-

威望
0
论坛币
1299 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
170 点
帖子
13
精华
0
在线时间
7 小时
注册时间
2013-4-16
最后登录
2019-3-18

楼主
gdhuangsha 发表于 2013-4-16 11:56:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
代码如下:

data a;   do n=1 to 100;
    output;
  end;
data b;
  set a end=last ;
  t+n; *1;
  if last then output;
run;

我感觉到疑惑的地方是1注释处的语句。这里t变量没有赋初值,t+n本身也不是赋值语句,而且也不是循环结构
可t最后的值是5050,真的好难理解。请问这应该如何理解呢?
谢谢!



二维码

扫码加我 拉你入群

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

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

关键词:output outpu Data Last Then 程序 run 如何

回帖推荐

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

T+n; 这是一个累加语句,出现这个语句,就默认retain t; t没有赋初值,那么默认初值为0 所以t+n全部语语是: retain t; t=0; t=t+n;

沙发
didizhang 发表于 2013-4-16 12:00:48
t+n是累加语句。

藤椅
gdhuangsha 发表于 2013-4-16 12:06:15
didizhang 发表于 2013-4-16 12:00
t+n是累加语句。
谢谢!能再详细解释一下累加语句吗?
我是学C语言过来的,对累加语句这种机制不是很理解。

板凳
Imasasor 发表于 2013-4-16 12:13:34
T+n; 这是一个累加语句,出现这个语句,就默认retain t; t没有赋初值,那么默认初值为0

所以t+n全部语语是:
retain t;
t=0;
t=t+n;
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

报纸
gdhuangsha 发表于 2013-4-17 14:43:23
Imasasor 发表于 2013-4-16 12:13
T+n; 这是一个累加语句,出现这个语句,就默认retain t; t没有赋初值,那么默认初值为0

所以t+n全部语语 ...
谢谢!

地板
gdhuangsha 发表于 2013-4-18 00:32:00
所以t+n全部语语是:
retain t;
t=0;
t=t+n;
验证好像有点问题,这样输出的T貌似就是n了,retain的作用没有体现出来。
上网查了一下,验证可行,可以这么做
retain t(0);  *括号内为t的初值;
t=t+n; *输出的t值确实为1+2+...+n;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 08:19