
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啊.请问大佬们这是什么原理. 展开
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啊.请问大佬们这是什么原理. 展开
展开全部
仔细看看for循环的执行过程,i每循环一次都会增1,因为你在for里面有一个++i,c则没有
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |