Buon giorno a tutti, sto facendo un esercizio in C e mi chiede di scrivere una funzione che verifichi se un numero è primo o no io ho fatto questo tentativo
#include <stdio.h>
#define ISPRIMO 1
#define NOTPRIMO 0
typedef int bool;
int primo (int a) {
if ((a % a) == 0 & (a % 1) == 0)
return ISPRIMO;
else
return NOTPRIMO;
}
il problema è che per ogni numero inserito il valore è sempre 1 e non capisco il perchè, potete aiutarmi?