问题描述
在各种编程和脚本语言(如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 (将#修改为@)