![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
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?? 展开
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?? 展开
8个回答
展开全部
这个问题,建议用你编程软件单步调试跑一次,就什么都明白,比别人回答你现成的,印象深刻得多,初步者遇到问题多调试,很有助于知识点的理解。
更多追问追答
追问
我调试了呀- -他i=11,j=10就直接出现11了呀!!
追答
if(i%j==0) 这一句是其实是两个表达式,不管计算的是真是假,在for里面已经计算过一次,所以会执行后面的j++ 。
哎,看你那个基础啊,一定要细心点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样看起来就清晰了
#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");
}
}
}
#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");
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当i=11时,j=11满足输出的条件啊?怎么了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询