c - 我试图使用 for 循环找到素数 1-n

标签 c for-loop

我试图找到素数,似乎我犯了错误,但我自己几个小时都找不到它 这是我的代码:

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

int main(){

    int n,a,b;
    printf("enter a number=> \n");
    scanf("%d",&n);
    for(a=2;a<=n;a++){
        for(b==2;b<=a;b++){
            if(a%b==0){
            break;
            }else{printf("Prime number: %d\n",a);}

        }
    }
    return 0;
}

b 应该增加但它没有增加,我也分配了 b==2 但它打印出 b=1

最佳答案

改变

for(b==2;b<=a;b++)  
//    ^ Replace it with assignment operator '='  

for(b = 2; b*b <=a; b++)  
//          ^ Reduce the unnecessary loop iteration.

关于c - 我试图使用 for 循环找到素数 1-n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23272669/

相关文章:

c - 系统如何知道没有更多未等待的 child

javascript - php 未定义索引错误消息

r - 为数据框的每个列(变量)创建单独的向量

c - 有多少矩阵的迹等于 givan 迹?

python - 用 C 和 Python 重写伪代码

C宏打开或关闭引脚

C 线程无效读取大小为 8 的缓冲区数组

c - 带有 fork 的空 for 循环导致奇怪的行为

python - 使用python的for语句时如何跳转一些步骤

for-loop - 如何在 Julia 中使用矩阵设置约束?