简单的scl for语句问题
郑志武
发布于2012-11-30 17:36
2
0
标签:
初学scl,写了一个非常简单的for循环,如下:
functionfc4:void
var_input
in2:int;
end_var
var_output
out2:int;
end_var
var_temp
temp2:int;
end_var
begin
fortemp2:=1to5by1do
out2:=in2+out2;
end_for;
end_function
编译和执行都没问题,问题是我的想法是应该只循环五次,结果执行的时候只要in2有大于0的值,程序结果就是out2不断的往上涨,不断的在循环。不理解为什么。in2等于0的时候out2值不变,不过应该只是在不停的加0罢了
另外声明,我没有高级语言编程的相关知识,请问有没有好的基础教材推荐的,跟scl相近的,谢谢
图片说明: 1,程序
佳答案
1、5次循环的部分程序没问题
2、导致你的数据不断往上增加的原因
1、fc4放置在ob中循环执行,所以每个周期都会+5,建议在for循环执行前增加循环启动条件的判断(if语句),以保证只在需要执行时进行循环累加
2、根据你的实际需要,判断是否需要对out2进行清零,如果要进行清零建议将out2定义输入输出类型