sdfgfg89
纲代慎平
采纳率0%
2021-03-05 20:56

C语言for语句的嵌套中,第二个for语句中出现的整型变量为什么要放到语句中?

#include <stdio.h>

int main()
{
    int x;
    
    for(x=2;x<=100;x++){
        int isprime=1;
    
    int i;
    for(i=2;i<x;i++){
        if(x%i==0){
            isprime=0;
            break;
        }
        }
        
        if(isprime==1){
            
            printf("%d\n",x);
        }
    
    }
        
    
    return 0;
}

下面的不可以正常运行(我用的dev c++,只能得到2和3),为什么?

#include <stdio.h>

int main()
{
    int x;
    int isprime=1;
    
    int i;
    for(x=2;x<=100;x++){
    
    for(i=2;i<x;i++){
        if(x%i==0){
            isprime=0;
            break;
        }
        }
        
        if(isprime==1){
            
            printf("%d\n",x);
        }
    
    }
        
    
    return 0;
}
 

 

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • qq_38901733 qq_38901733 1月前

    这是原来的代码

    点赞 2 评论 复制链接分享
  • SoftwareTeacher SoftwareTeacher 1月前

    在循环中, 每当你要重新考虑一个数是不是质数的时候, 你要重新设  isprime=1;  所以这句话要放在外循环的里面, 这样才能每次都重新赋值。 

    点赞 1 评论 复制链接分享