不是,c=a是一个表达式,最后要看这个表达式的值,在这里当然要最后c的值,非零就相当于1了,如果c=0那就是零了
相当于c=a;//先无条件赋值if(c)//根据赋值后的结果,也就是c值,来决定是否执行。因为c=a这个是赋值表达式只要是表达式 就有自身的值赋值表达式的值,就是左值,其实说是右值也没什么区别。 不过一般认为是左值的
我觉得除非a不是0