lpx9393 发表于 2020-1-26 00:21:06

为什么第27行的else{flag=1}里的flag要等于1?而不是等于0?谢谢

#include <stdio.h>
#include <math.h>

int main()
{
        int count = 4;        //已知2 3 5 7为素数
        int m;        //数
        int j;        //2~根m
        _Bool flag = 1;

        for(m = 9; m < 10000; m++)
        {
                for(j = 2; j <= (int)sqrt((double)m); j++)
                {
                        if(m % j == 0)
                        {
                                flag = 0;
                                break;
                        }
                }
                if(flag == 1)
                {
                        count++;
                }
                else
                {
                        flag = 1;
                }
        }
       
        printf("10000以内的素数有%d个", count);
       
        return 0;
}


ba21 发表于 2020-1-26 00:25:33

能仔细点学不?这几句再仔细看看
if(m % j == 0)
                        {
                              flag = 0;
                              break;
                        }
if(flag == 1)
                {
                        count++;
                }
                else
                {
                        flag = 1;
                }

页: [1]
查看完整版本: 为什么第27行的else{flag=1}里的flag要等于1?而不是等于0?谢谢