for循环第一个条件问题 20

#include<stdio.h>intmain(){intm,n;intj,i;intt;into;intc;j=2;t=1;scanf("%d%d",&m,&n);f... #include<stdio.h>

int main()

{
int m,n;
int j,i;
int t;
int o;
int c;

j=2;
t=1;

scanf("%d %d",&m,&n);

for(c=1;t<=n;j++){
for(i=2;i<j;i++){
if(j%i==0){
c=0;
break;
}
}
if(c==1){
t++;
if(t>=m){
o+=j;
}
}
}

printf("%d\n",o);

system("pause");

return 0;
}

这个代码里第一个for里的C=1的初始化只做一次.下面C变成0以后这个c就一直是0了.但是第二个for循环里I=2每次做完循环后都会重新=2啊.请问大佬们这是什么原理.
展开
 我来答
Polaris北斗
2018-08-01 · TA获得超过3204个赞
知道大有可为答主
回答量:2530
采纳率:79%
帮助的人:866万
展开全部
仔细看看for循环的执行过程,i每循环一次都会增1,因为你在for里面有一个++i,c则没有
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式