写了一段简单的测试程序测试了for指令的逻辑,有问题请教下!
如截图的程序中,测试结果为什么只要"TeST".No[3]为1"TESt".Out就为1,"Test".No[3]为0"Test".Out就为0
我原本想实现的逻辑是"Test".No[1],"Test".No[2],"Test".No[3]都为1时"Test".Out为1,其中一个为0时"Test".Out为0,想要实现这种逻辑正确应该这么写呢?
问题补充:
感谢回答,我这里只是写一个测试下逻辑,实际上的[]数量可能会很多,比如有60,所以想用for来实现一下
图片说明:
02bBFd9534ab6f96bc2ae585fb479836
最佳答案
1、测试结果为什么只要"Test".No[3]为1"Test".Out就为1,"Test".No[3]为0"Test".Out就为0
很简单,你做的这个循环最后执行的是将Test".No[3]赋值给"Test".Out所以效果如你所描述的
2、可以这么写:
"Test".Out:=1;
FORi:=1TO3BY1DO
"Test".Out:="Test".OutAND"Test".No[i];
END_FOR;
不需要用if语句
提问者对于答案的评价:
测试过了,谢谢!