
答案选B,可是B错在哪?解析是什么?
题的知识点考察的什么?
//为什么非得30个字符?
if语句的判断表达式应该在一个()内,图中&&语法是正确的,但是没有把两项用()括起来。编译器编译器会将上述语句的if(x=y) 视为一句,后面的&&(x!=0)视为新的一句,那么编译器就会报错。可以通过编译器编译的语句为if((x=y) && (x!=0))
另外,if(x=y)虽然不会报错,但是这不是判断x是否等于y,而是将y的值赋值给x,该赋值表达式的结果永远为1,所以if一定成立。如果想判断x是否等于y,应该使用if(x==y)