全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
16029 9
2014-10-14
data ;
  input type $ @;
  if type='c' then input course $ prof $;
  else if type='s' then input name $ id 3.2;
  cards;
  c math zxs
  s zhao 58888
  ;
  proc print;
  run;

有@的输出结果:
Obs    type    course    prof    name     id
   1      c       math     zxs                     .
   2      s                              zhao    5.88

无@的输出结果:
Obs    type    course    prof    name    id
    1      c        s         zhao                  .

请高手指点,有@能看的明白,但为什么没有@的结果想不明白~
二维码

扫码加我 拉你入群

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

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

全部回复
2014-10-15 09:33:47
相当好啊                                                                        
                                       
                                                     
                                                     
                                             
                                                                 
                                                                                 
二维码

扫码加我 拉你入群

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

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

2014-10-15 14:17:22
@的功能是input语句执行之后,指针不换行,如果没有@,则执行完input语句后,指针跳到下一行。
你的程序如果加上@,则input读完type后,指针停留在第一行,继续读"c"后边的数据,也就是math zxs
如果不加@,input读完第一行的type后,指针换到第二行,读入第二行的前两个字符串
二维码

扫码加我 拉你入群

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

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

2014-10-15 20:43:00
lwien007 发表于 2014-10-15 14:17
@的功能是input语句执行之后,指针不换行,如果没有@,则执行完input语句后,指针跳到下一行。
你的程序如 ...
没有@的时候,if语句是怎么运行数据的?
二维码

扫码加我 拉你入群

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

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

2014-10-16 09:17:45
没有@,type变量第一次读入还是‘c',if语句正常执行,if type=’c'为真,读入变量couse prof,只不过指针跳到下一行开头,input couse prof是读入下一行的前两个字符串
二维码

扫码加我 拉你入群

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

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

2014-10-16 09:39:14
xiaoai0405 发表于 2014-10-15 20:43
没有@的时候,if语句是怎么运行数据的?
IF语句和@是没有关系的。
不管第一个INPUT语句中有没有@,IF语句都会执行相同的功能,也就是判断type的值。

关于@以及@@的作用,可以参考下面这个帖子:
https://bbs.pinggu.org/thread-1186051-3-1.html
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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