不是的,你的循环里面有个 ++i, 所以执行最后一次的时候,它已经加到val的大小了,所以也就正好是素数 比如判断5的时候
for (i=2; i
if (val%i == 0)
break;
}
当i =4 时,条件成立执行循环体,执行完后,++i 变为5 ,然后再判断条件,条件不成立,退出,
下面的if语句 不就正好成立了, 也就正好是素数
这个我来回答。
肯定是成立的。
for语句里面,i自加到val(i == val)时for语句就停止了,这个时候i就不会继续运行for后面大括号里面的语言了。
运行到if (i == val)时,它就成立了。
如果 val 是素数
for (i=2; i
会运行到 i==val 是 i