为什么跑出来结果是12

img


看了好久,看不出来哪错了,判断素数那段单独拎出来没错,但在这里面不知道为什么4也能出来。

19 行应该是 if (o == 1) ,写成了赋值,就成了恒成立的条件判断,为了避免这种情况,你可以把常值写在等号左边,也就是

if (1 == o)

另外,建议你看这个

19行应该时if(o==1)

19行,“=” 是将1赋值给0,你这里应该是要判断,所以应该是 if(o==1)