#include<stdio.h>
#include<stdlib.h>
int is_prime(int num)
{
    if (num <= 1) return num;
    if (num % 2 == 0 && num > 2) return num;
    for(int i = 3; i < num / 2; i+= 2)
    {
        if (num % i == 0)
            return num;
    }
    return 0;
}
void main()
{
    while(1)
    {
        int r = rand();
        if(r==is_prime(r))
        {
            printf("The number is %d",r);
            break;
        }
    }
}
I tried this code to generate a random prime number. But it's giving the same number every time and the number is not prime. What's the error in this program?