用c写得取反按钮,但有些问题,请高手指点

按钮变量是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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 下午2:11
下一篇 2019年6月11日 下午2:11

相关推荐