Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I tried to make a prime number generator but I don't know why it's not working. Because according to the code, it should work fine. I used a if statement somewhere in the functions and I think it's getting a false value every time when it should get a true value. It should give me all the prime numbers until the user provided value but it gives me nothing.

#include <stdio.h>
#include <math.h>
#include <stdbool.h>
bool isPrime(int num) {
    int sqroot = (int)sqrt((double)num);
    for (int i = 1; i <= sqroot; i++){
        if (num%i == 0){
            return false;
        }
    }
    return true;
}
void gen(int num){
    int counter = 0;
    for (int i = 2; i <= num; i++){
        if (isPrime(i)){
            counter++;
            printf("%d : %d
", counter, i);
        }
    }
}
int main(void)
{
    int x;
    scanf("%d", &x);
    gen(x);
    return 0;
}
question from:https://stackoverflow.com/questions/65942164/boolean-value-isnt-working-properly-in-c-programming-language

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
466 views
Welcome To Ask or Share your Answers For Others

Please log in or register to answer this question.

Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...