楼主: 积流成河
3999 4

[问答] 帮忙看一下,关于一个逻辑运算语句的判断 [推广有奖]

  • 1关注
  • 0粉丝

大专生

61%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
452 点
帖子
31
精华
0
在线时间
52 小时
注册时间
2012-5-18
最后登录
2013-7-28

楼主
积流成河 发表于 2012-11-6 14:27:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. data sj3;
  2.         input v1 v2 @@;
  3.                 c1=c2=c3=c4=0;
  4.                 if v1>v2 and v2>0 then c1+1;
  5.                 if v1>v2 or v2>0 then c2+5;
  6.                 if v1>v2 or v1~=0 then c3+15;
  7.                 if ~ v1>v2 or ~ v1~=0 then c4+100; *****如果v1不大于v2或v1=0,则c4+100;
  8.                 z1=(3><4);
  9.                 z2=(3<>4);
  10. cards;
  11. 2500 3000 2800 3300
  12. ;
  13. proc print;
  14. run;
复制代码
输出结果为:

                                             SAS 系统    2012年11月06日 星期二 下午01时56分33秒   1

                      Obs     v1      v2     c1    c2    c3    c4    z1    z2

                       1     2500    3000     1     5    15    0     3     4

                       2     2800    3300     0    10    30     0     3     4


请只看程序中的蓝色部分,请问c4的值为何是0啊?是不是我的理解有误啊?望指点!



二维码

扫码加我 拉你入群

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

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

关键词:逻辑运算 Input Then Data The

回帖推荐

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

从左至右的运算优先级,先判断^v1是否大于v2 ,再判断^v1是否为0 ,这两个条件中有一个为真则执行后面的语句,否则不执行;v1不大于v2,应该要加上括号^(v1>v2)吧!

沙发
xulimei1986 发表于 2012-11-6 14:36:51
逻辑规则的问题吧,if ~ v1>v2 or ~ v1~=0 then c4+100; *****如果v1不大于v2或v1=0,则c4+100;
改为:if  v1 <=v2 or v1=0 then c4+100; 试试
家家有本难念的经,计较的少一点,会和睦许多!!

藤椅
积流成河 发表于 2012-11-6 14:47:04
xulimei1986 发表于 2012-11-6 14:36
逻辑规则的问题吧,if ~ v1>v2 or ~ v1~=0 then c4+100; *****如果v1不大于v2或v1=0,则c4+100;
改为:if  ...
谢谢您的回复,我只是想知道if ~ v1>v2 or ~ v1~=0 then c4+100;  这个逻辑规则到底怎么样理解

板凳
xulimei1986 发表于 2012-11-6 14:56:20
积流成河 发表于 2012-11-6 14:47
谢谢您的回复,我只是想知道if ~ v1>v2 or ~ v1~=0 then c4+100;  这个逻辑规则到底怎么样理解
从左至右的运算优先级,先判断^v1是否大于v2 ,再判断^v1是否为0 ,这两个条件中有一个为真则执行后面的语句,否则不执行;v1不大于v2,应该要加上括号^(v1>v2)吧!
家家有本难念的经,计较的少一点,会和睦许多!!

报纸
积流成河 发表于 2012-11-6 14:58:41
xulimei1986 发表于 2012-11-6 14:56
从左至右的运算优先级,先判断^v1是否大于v2 ,再判断^v1是否为0 ,这两个条件中有一个为真则执行后面的语 ...
明白了,谢谢

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

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