
C语言问题,如下图 for 循环中的循环条件就已经是i<=n-1了,为什么还要判断if(i<n)呢??求解释。
4个回答
展开全部
这是因为如果没有发生break退出;则退出时的i已经超过n-1,即i=n了。
所以在这里用i<n作为判定是否素数的条件。
所以在这里用i<n作为判定是否素数的条件。
展开全部
举个例子
n=3
第一遍循环 i=2,i<=2 执行 if判断...
第二遍循环 i=3 跳出循环
这个时候,i<n是错的,所以是素数
n=8
第三遍循环 i=4,判断if是true,跳出循环
4<8所以8是素数
总结:在是素数情况下会循环到n-1,并且在i=n时结束,所以判断i是否小于n
n=3
第一遍循环 i=2,i<=2 执行 if判断...
第二遍循环 i=3 跳出循环
这个时候,i<n是错的,所以是素数
n=8
第三遍循环 i=4,判断if是true,跳出循环
4<8所以8是素数
总结:在是素数情况下会循环到n-1,并且在i=n时结束,所以判断i是否小于n
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-08-31
展开全部
首先素数只能被1和他本身整除
如果n为5循环结束,i就等于6
在判断if(i<n)如果小于不是素数,不小于就是素数
求采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-08-31
展开全部
for语句的循环体只包括他后面紧跟的那一条if语句,并不包括你说的if(i<n)这条语句。没有大括号哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |