Here is My Attempt to First ten Questions :-

1. Yeah Why NOt!
2,3 No Idea About This ?? :-?
4. U dint gave the address of the int variable in scanf() , corrected code should be
Code:
scanf("%d\n",&n);
5. Got me Searching for My C Reference !! No idea! Help Please.
6. Buffer Overflow , Yeah he's definitely in trouble!
7. I think i am right with this , Point me if i am wrong :-

Arrays when provided as a argument to a function are actually treated as pointers , So what we are exactly doing here is that providing a pointer to very first variable in the array which is a random integer , therefore the size is ouput as 4

8. Yeah we can! I met with this problem when i was reverse engineering a Crackme!

You can change the entry point function!
Like in th case of GCC :-

You can use the -e flag

Code:
gcc -e myfunc prog.c -o prog.c
9. HmM! I see there is something related to size of the int! But cant get the real point of it ! Please explain!

10. You are actually comparing it to char , i mean you added the '1' instead of 1.