在FC使用过程中大家都提出“先赋值后使用”,上网查询了一些对于此问题的看法,觉得理解程度真心不一样啊,觉得比较靠谱的那就要说工控老鬼的解答了,但是对于此问题我编写了一个例子,好像违背了这个观点,求解!!!
工控老鬼观点:
熟练使用临时变量或者说局部变量,可以给我们编程带来方便。在论坛里也经常看到有些朋友提了一些关于临时变量的问题,大家在回答的同时会提示“要先赋值后使用”。这样确实可以保证我们的编程不会出现错误,但是我们也需要了解为什么。
局部变量可以定义为:IN、IN/OUT、OUT和TEMP四类,再加上无符号裸奔的L**,可以有5种存在形式。
其
中,IN和IN/OUT在子程序调用之初需要从外部获得输入,数据流向是向内,其实就相当于一个初始赋值的过程;OUT虽然连接外部变量,但是数据流向是
向外,因此没有初始化。TEMP和裸奔的L**其实可以算作一类,它们通常在子程序中起到在IN和OUT间传递数据的作用。
可能会有人觉得临时变量在子程序调用完毕后会自动清零,这种印象是错误的。
子程序中的OUT和TEMP类型临时变量会继承与其同级的前一个子程序中最后的值。这听起来有些拗口,简单可以理解为临时变量的数据都是可传递的,但是由于IN和IN/OUT天然的具备初始化,而其他类型没有,这种差异会造成使用中的错误。
自己的例子:


对于TEMP这个变量我并没有对其先赋值,但是在运行过程中,FC之间不受到影响,为什么?