c求100以内的素数问题。

请问一下大佬们,为啥int isPrime=1放在外面不能得出所有100以内的素数?

 

当你处理完一个数之后,你要把 isPrime 再次重置为 1, 这样以后的逻辑才会继续有效。 因此,要把 isPrime = 1 放在循环体内。 

放在外面的话,当你处理一个不是素数的时候,isprime被置为0,然后跳出内层循环,执行下一次外层循环。这时候isprime永远为0,就不会处理剩余的素数了

你在处理过一次后,应该再初始化一下,把isprime 重置为1。重新判断下一次

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^