I tried reading the proof that the intersection pairing on K3 surfaces is non-degenerate, in Huybrecht's Lectures on K3 Surfaces.
Let $(-,-)$ denote the intersection pairing of invertible sheaves on a K3 surface, and let $L'$ be an ample sheaf. Then Huybrechts writes that for non-trivial invertible sheaf $L \neq \mathcal{O}$, $(L, L') = 0$ implies $H^0(X, L) = 0$, and as a justification he cites the fact that $$(\mathcal{O}(C), L') = \deg(L'|_C) > 0$$ for any curve $C \subset X$. This shows that neither $L$ nor $L^*$ is of the form $L = \mathcal{O}(C)$, but I don't understand how to use that to conclude $H^0(L) = 0$.
Note that nonzero section $s\in H^0(X,L)$ corresponds up to a function $\Gamma(X,\mathcal{O}_X)^* = \mathbb{k}^*$ to an effective divisor $C$ such that $\mathcal{O}(C) \cong L$ (in fact $C$ is a divisor of zeros of $s$). If $L\neq \mathcal{O}_X$, then $s$ has nontrivial divisor of zeros and hence $C\neq \emptyset$ is a curve. Thus if $H^0(X,L)\neq 0$ and $(L,L')=0$, then for some curve $C$ on $X$ we have $$0 = (L,L') = (\mathcal{O}(C),L') = \mathrm{deg}(L'_{\mid C}) > 0$$ and this is a contradiction.