What have I done wrong here? Again syntax or something else?

Code:
#include <stdio.h>

int main()
{   
	int array[47]; /*Sets array to 47*/
	int primeNumber = 1; /* declare and initialise the starting point of the 
	search for primes */
	int count=0;
	while(primeNumber < 230)
	{
		int loopGuard = 2; /* initialise the loop guard */
		int numDivisors = 0; /* variable representing the number of divisors 
								a number has */
		while(loopGuard < primeNumber) /* continue to perform the statements 
		while the loopGuard is less than or equal to the current number 
		(loopGuard) */
		{
			
			if(primeNumber % loopGuard == 0) /* if the given number is divisable
			by the current number (loopGuard) */
			{
				numDivisors =numDivisors + 1; /* increase our count of the 
				number of divisors */
			}
			/* always increment the loopGuard variable */
			loopGuard = loopGuard + 1; 
		}
		/* if there are no divisors for the number it must be prime */ 
		if(numDivisors == 0){
		array[count]=primeNumber;
		}
		count++; /*Count adds one*/
		primeNumber = primeNumber + 1; /* increment the loop guard i.e.
			test if the next number is prime */
	}
	count=0;
	while (count < 47) /*While count less than 10*/


		{
			
		printf("%d ", array[count]); /*Prints numbers according to the position list[1], [2], [3] etc*/
		
		count++; /*Count adds one*/
		
		}
	return 0;	 
}