I'm still new to C. I wrote some code, but I'm sure I did something wrong because it's not giving the correct output.

(compiling and running on linux)

Code:void main() { unsigned long startingNumber; // THE Number. Is it prime? printf("Enter Positive Number (0 to 4,294,967,295) to be Tested : "); scanf(startingNumber); printf("\nTesting ", startingNumber, "...\n"); unsigned long testNumber = (startingNumber / 2); // A number can't be evenly divided by a number bigger than half the first number. unsigned long answer = startingNumber % testNumber; // Get the initial remainder. while (answer != 0 && testNumber > 1) // Decrement while checking for a modulus of 0. { answer = startingNumber % testNumber; testNumber = testNumber - 1; } if ((answer == 0) && ((startingNumber / 2) > 1) || (startingNumber == 2)) { // Check for prime, with fixes for 2, and testNumbers 1 or smaller. printf(startingNumber, " is NOT a PRIME Number\n"); } else printf(startingNumber, " is a PRIME Number\n"); return 0; };

Output:

Using GDB, the program exits with code 011.Code:fuzzypig@fuzzypig-ubuntu:~/Documents/source/primechk/c$ ./a.out Enter Positive Number (0 to 4,294,967,295) to be Tested : 265952 Testing Hfῼﾛ�fuzzypig@fuzzypig-ubuntu:~/Documents/source/primechk/c$

Can someone help me fix my code?