设为首页收藏本站

 找回密码
 注册
查看: 1780|回复: 1
打印 上一主题 下一主题

请教:下面两个循环语句中都含有序列函数,为什么一个警告,一个没有警告? [复制链接]

Rank: 1

精华
0
UID
122777
积分
8
帖子
6
主题
2
阅读权限
10
注册时间
2012-8-29
最后登录
2014-12-14
跳转到指定楼层
1#
发表于 2013-10-27 11:28:07 |只看该作者 |倒序浏览
下面这段代码编译后没有出现警告信息:       
For I=1 TO M
{
      SumC=SumC+Abs(C[i]-C[i+1]);
}

下面这段代码编译后出现警告信息(FOR,WHILE.IF,ELSE中包含序列函数,可能存在潜在的逻辑错误。请确认代码无误):
For I=1 TO preDayHLLng
{
      SumpreDayHL=SumpreDayHL+(HighD(I)-LowD(I));
}

为什么会这样?后面的第二段代码的警告信息需要理会吗?

Rank: 6Rank: 6

精华
0
UID
116229
积分
2373
帖子
2247
主题
18
阅读权限
70
注册时间
2013-3-4
最后登录
2019-3-24
2#
发表于 2013-10-30 11:28:03 |只看该作者
tb不建议在FOR,WHILE.IF,ELSE中使用序列函数,因为序列变量的值可能会出现错误

楼主第一段代码直接使用的序列变量,所以没有报错。而第二段代码,用到了highd函数,该函数代码中是对high序列变量比较,所以报警告了。出现这个信息你需要自己分析,如果不会因为序列变量造成计算逻辑混乱,也可以用的。

使用道具 举报

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

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-23 16:14

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部