Mine's slightly buggered - it should be:
if ((number / i == (int)(number / i)) && i != 1 && i != number)
prime = 0;
/* i is a factor that is not 1 or the number itself - the number divided by i is the same when converted to an integer. */
if (number == 1)
prime = 0;
/* 1 is not a prime number */ If prime is still 1 after all that, the number's a prime.