C语言中求素数。 我主要是弄不明白为什么 if(i>=k+1) 他就执行不到i>k+1啊。

2024-11-07 06:58:24
推荐回答(3个)
回答1:

因为i>=k涵盖了i==k和i>k,其实程序中判断只需要i==k,但是写程序一般为了逻辑的完整性,就写成那样了,这样刚好能把i在整数整数范围的值都涵盖了。这个地方程序简单不容易出错,有些地方不这么写可能会造成程序运行出错,所以还是写程序习惯的问题吧

回答2:

因为执行了for(i=2;i<=k;i++)中的i++,所以即使为素数,i要加1。那么i=k+1,肯定执行不到k+1,这里只是扩大了范围。

回答3:

可以自己推算一下,不用到i>=k+1,i>k就可以了。