c语言if(j>=i)什么意义??

#include<stdio.h>main(){inti,j,counter=0;for(i=11;i<=100;i+=2){for(j=2;j<=i-1;j++)if(... #include<stdio.h>
main()
{int i,j,counter=0;
for(i=11;i<=100;i+=2)
{for(j=2;j<=i-1;j++)
if(i%j==0)
break;
if(j>=i)
{printf("%d",i);
counter++;
if(counter%10==0)
printf("\n");
}
}
}
中if(j>=i)。i=11,j循环到10时,为什么还能输出11??
展开
 我来答
百度网友a3d68c0
2013-01-04 · TA获得超过581个赞
知道小有建树答主
回答量:1095
采纳率:50%
帮助的人:418万
展开全部
这个问题,建议用你编程软件单步调试跑一次,就什么都明白,比别人回答你现成的,印象深刻得多,初步者遇到问题多调试,很有助于知识点的理解。
更多追问追答
追问
我调试了呀- -他i=11,j=10就直接出现11了呀!!
追答
if(i%j==0)  这一句是其实是两个表达式,不管计算的是真是假,在for里面已经计算过一次,所以会执行后面的j++ 。
哎,看你那个基础啊,一定要细心点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhykzhykzhyk
2013-01-04 · TA获得超过395个赞
知道答主
回答量:140
采纳率:100%
帮助的人:215万
展开全部
这样看起来就清晰了
#include<stdio.h>
main()
{
int i,j,counter=0;
for(i=11;i<=100;i+=2) {
for(j=2;j<=i-1;j++) //在这里是找第一个 2<=j<i,使 i%j==0,没找到的话就是i
if(i%j==0)
break;
if(j>=i) { //如果 i 为质数
printf("%d",i);
counter++;
if(counter%10==0)
printf("\n");
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
豪气豪迈
2013-01-04
知道答主
回答量:29
采纳率:50%
帮助的人:16.1万
展开全部
当i=11时,j=11满足输出的条件啊?怎么了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式