如何解决为什么在各种语言的If语句中允许这样做?
在各种编程和脚本语言(如C和PHP)中,if
语句使用以下约定:
if ( variable == 1 ) { do something }
据我所知,遵循此约定的每种语言都允许:
if ( variable = 1 ) { do something }
即使是经验丰富的程序员也可能犯此错误。而不是比较,它是一个赋值,它将(几乎)总是成功并返回1,这是一个非零数字,表示true
。我唯一认为这将失败的是,如果变量在范围内不存在,或者可能是类型不匹配。是的,它所有寻找1或0,为false的true,并且比较本身无关紧要。但是,我假设比较构成了这些if
语句的99.9999%。是否有理由不需要比较?为什么允许这样做?我缺少明显的东西吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。