C语言为何选择语句只执行第一句,而没有执行else后的语句。 只执行第一句,而没有执行else后的语句。

如题所述

if(j=2)注意你这里写的是赋值运算符,结果就变成if(2),c语言规定非0为真,因此这个条件永远成立,执行的是这个if语句,其他分支不再执行,因此你的代码永远只执行s=q*(1+2*b),这不是语法错误,比较难发现,因此当写关系表达式时,习惯把常量写左边,if(2==j),这样如果你不小心写成if(2=j),编译器就会报错追问

我刚学习,虽然不太懂你讲的,但试过确实可以。

温馨提示:答案为网友推荐,仅供参考