打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
warning: suggest parentheses around assignment used as truth value

今天在写 词法分析器的时候  用了这么一句代码 :if (atype=search(alphatp,1))

结果在 gcc 编译器下居然发出了警告:warning:suggest parentheses around assignment used as truth value

 

郁闷!

后来在网络上找了一下 看人家是这么解释的,即在C语言中  非0代表TRUE ,反之为FALSE。 atype值是用于最后的判断用的,但是由于长期的编程实践告诉我们,人们经常在“=”和“==”的使用上出现手误,所以gcc编译器为此要求我们明确地告诉编译器它是“=”而不是“==”是故意,而非手误

     if ((atype=search(alphatp,1))即加一个括号括起来就可以了。

既然我们的语句如上所示,并非要用“==”,因此我们只需修改成下列样式即可:

if ((atype=search(alphatp,1)))

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
编译原理中一个实用的词法分析程序
C程序常见warning处理
linux c 编译时出现warning: assignment makes pointer from integer without a cast原因
以后一定注意不能忽略编译器的警告
(1)quartus II的各种警告
成功解决WARNING:tensorflow:Variable += will be deprecated. Use variable.assign_add if you want assignmen
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服