全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
859 4
2017-09-10
复制代码
我运行程序的时候,没有 i = 1; 这句sas就会一直运行没有结果(可能是死循环)。请问大神解答一下这是为什么,感谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2017-9-10 21:53:42
因为是do while,当i符合条件时才继续,没有i=1;是不行的。
二维码

扫码加我 拉你入群

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

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

2017-9-10 21:55:52
这个问题很简单。但是需要知道SAS data步运行的逻辑才能理解。对于data步,程序在编译阶段时,对于数值型变量都是置为缺失值得,除非给这个变量一个初始值。在第一个循环语句,如果将 sum = 0;这条语句去掉,运行结果也是报错的。对于第二个循环,因为循环判断的变量i如果没有置初始值,那么这个变量为缺失置,在循环模块里面,缺失值的运算结果仍然是缺失值,永远不会达到循环中断的条件,因此程序陷入死循环。
不知道是否已经理解。
二维码

扫码加我 拉你入群

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

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

2017-9-10 22:04:35
行路者01 发表于 2017-9-10 21:55
这个问题很简单。但是需要知道SAS data步运行的逻辑才能理解。对于data步,程序在编译阶段时,对于数值型变 ...
理解了,非常感谢!
二维码

扫码加我 拉你入群

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

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

2017-9-10 22:05:02
l1i2n3i4n5g 发表于 2017-9-10 21:53
因为是do while,当i符合条件时才继续,没有i=1;是不行的。
感谢您的回答!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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