关于数组赋值问题
请问老师:下面的数组循环赋值语句写法有错误吗?为什么数组只显示一个有效数值,而且length=5,为什么显示了6个数值?
请问老师:下面的数组循环赋值语句写法有错误吗?为什么数组只显示一个有效数值,而且length=5,为什么显示了6个数值?
找到问题了,for语句多了一个;分号。
回复:是我粗心了没看出来,感谢提供了一个经典错误案例和结果
回复:谢谢老师提供代码对照,否则有时候就是很难自己找问题。
不要发这种没头没尾复现不了问题的代码完全是浪费时间
回复:感谢老师费心,确实在程序里面很多情况很是奇怪。
回复:刘老师:确实挺费解的,按照你的程序一模一样地抄过来,显示结果还是不一样。会不会有设置方面的问题?
回复:你新建一个工作区,重新打开k线图,插入公式
回复:老师不会又被bug坑了吧
回复:Params Integer length(5); Vars series<numeric> ma20; Events OnBarOpen(ArrayRef<Integer> indexes) { ma20 = Average(close[1],20); array<numeric> ma20array; integer i; for i = 0 to length-1 { arrayinsert(ma20array,i,ma20[i]); } print(TextArray(ma20array)); }
回复:用这段代码测的也没出现楼主说的情况
回复:刘老师:复制这个代码就正确了,问题是这个代码和上面抄的代码有区别吗,为什么显示结果不一样?
回复:我反复验证过,直接复制老师的代码就没问题,但是自己写入的就出问题,而你测试也没问题,百思不得其解。
回复:你应该是哪里粗心设置过的影响了结果然后你忘记了唯一的解决方案就是远程帮你调试看看
回复:刘老师:找到问题点了,是for语句多了一个分号,所以出错了。
你这数组 初始值看不出来 数据类型看不出来 掐指一算 算不出来