Proof:
Let p be an odd prime number.
Consider the group $U_p=${equivalent classes of $a$|$p>a>0$, $gcd(a,p)=1$}
(equivalent relation:$a\equiv b \pmod p$, binary operation:[a][b]=[ab]).
p is a prime,so $U_p=${[a]|$1\leq a\leq p-1$}.
Since $U_p$ is a finite abelian group, $(\prod_{1}^{p-1}[a])^2=\prod_{1}^{p-1}[a]*\prod_{1}^{p-1}[a^{-1}]=[1]$,
so $[(p-1)!]^2\equiv 1 \pmod p$,
therefore, either $(p-1)!\equiv 1\pmod p$$(!)$ or $(p-1)!\equiv -1 \pmod p(!!)$.
Now we'll show that the first statement (!) is incorrect, thus forcing the second statement to be true.
Assume that there exists an element $[a],2\leq a \leq p-1$, such that $[a]^2=[1]$,
therefore $a^2\equiv 1\pmod p$,
or $p|(a-1)(a+1)$,
so $p|(a-1)$ and/or $p|(a+1).$
so $a-1\geq p$ and/or $a+1\geq p$
Therefore, $a=p-1$
So,only $[1]$ and $[p-1]$ are self-paired.
Therefore, consider the product: $x=[1]...[p-1]$,
Apart from $[1]$ and $[p-1]$, all other elements are paired together with their inverses,
so $x=[(p-1)!]=[p-1]$ which doesn't equal to [1] since it requires p|p-2, which is true only when p=1,2.
so $[(p-1)!]\neq [1]$.
So it is false that $(p-1)!\equiv 1\pmod p$.
This forces (!!)to be true,so it must be true that $(p-1)!\equiv -1\pmod p$.
This completes the proof.