按钮变量是aaa,想做一个每次点击都取反的功能,c代码如下:
int a;
a=GetTagBit("aaa"); //Return-Type: BOOL
SetTagBit("aaa",(!a)); //Return-Type: BOOL
但编译不同过,提示SetTagBit("aaa",(!a));该行有问题,我也试过SetTagBit("aaa",(1-a));但是也不行,请大家指点!
最佳答案
你的方法也没有错,只是编译的时候有警告而已,不会影响运行!也可以试试这个,但同样会有警告,可以执行。
SetTagBit("aaa",(1-GetTagBit("aaa")));
提问者对于答案的评价:
谢谢!
专家置评
因为数据类型不符所以警告。在(!a)前加入(short int)进行数据类型的强制转换就OK了。
int a;
a=GetTagBit("aaa"); //Return-Type: BOOL
SetTagBit("aaa",(short int)(!a)); //Return-Type: BOOL
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc278681.html