do{ for( i=2; i { if(p%i==0) { break; } } if(i>=p) xx[j++]=p; p++;} while(j for 循环体只有一个 if ,i>=p已经在循环外了。当 for 循环执行到 i == p 然后退出循环而不是在里面 break 出来时, i == p. 其实就是判断是 break 出来的还是循环结束出来的。用 i >= p 是因为 i >= p 包含了 i==p,程序员一种习惯而已。
{ if(p%i==0) { break; } } if(i>=p) xx[j++]=p; p++;} while(j for 循环体只有一个 if ,i>=p已经在循环外了。当 for 循环执行到 i == p 然后退出循环而不是在里面 break 出来时, i == p. 其实就是判断是 break 出来的还是循环结束出来的。用 i >= p 是因为 i >= p 包含了 i==p,程序员一种习惯而已。
for 循环体只有一个 if ,i>=p已经在循环外了。当 for 循环执行到 i == p 然后退出循环而不是在里面 break 出来时, i == p. 其实就是判断是 break 出来的还是循环结束出来的。用 i >= p 是因为 i >= p 包含了 i==p,程序员一种习惯而已。