c – 无意中使用=而不是==

c – 无意中使用=而不是==,第1张

概述看起来 if (x=y) { .... } 代替 if (x==y) { ... } 是许多邪恶的根源. 为什么不是所有编译器都将其标记为错误而不是可配置的警告? 我有兴趣找出结构if(x = y)有用的情况. 大多数情况下,编译器非常努力地保持向后兼容. 改变他们在这件事情上的行为以抛出错误会破坏现有的合法代码,甚至开始发出警告会导致自动系统的问题,通过自动编译并检查错误和警告来跟踪代码. 这是 看起来
if (x=y) { .... }

代替

if (x==y) { ... }

是许多邪恶的根源.

为什么不是所有编译器都将其标记为错误而不是可配置的警告?

我有兴趣找出结构if(x = y)有用的情况.

解决方法 大多数情况下,编译器非常努力地保持向后兼容.

改变他们在这件事情上的行为以抛出错误会破坏现有的合法代码,甚至开始发出警告会导致自动系统的问题,通过自动编译并检查错误和警告来跟踪代码.

这是一个邪恶,我们几乎陷入了大气层,但有办法规避和减少危险.

例:

voID *ptr = calloc(1,sizeof(array));   if (NulL = ptr) {       // some error   }

这会导致编译错误.

总结

以上是内存溢出为你收集整理的c – 无意中使用=而不是==全部内容,希望文章能够帮你解决c – 无意中使用=而不是==所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1250653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存