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 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…