判断输入数是否为素数?
大家好,我是C语言初学者,我现在遇到点总题想请教下大家, 例:判断输入数是否为素数。 # include "stdio.h" void main() {int m,n,i; scanf("%d\n",&m); n=sqrt(m); for(i=2;i<=n;i++) if(m%i==0) break; if(i>k) printf("%d为素数",m); else printf("%d为合数",m);} 我想请问的是标注为红色字区域中,“为什么要i>k,才为素数”,例如我输入m=18,则K=4,循环中i=2时能整除,跳出循环,执行i>k条件下m为素数,但9比4大,说明18也不是素数呀,所以我有些想不通,请大家帮帮忙!谢谢!