$\limsup a_n$ is the sup of all limits of subsequences of $a_n$, which sup may be $-\infty$ or $+\infty$ (Baby Rudin 3.16).
Suppose there exists an unbounded subsequence. Then we can find a subsequence going either to $-\infty$ or $+\infty$. If it's $+\infty$ we're done. If $a_{n_i}$ goes to $-\infty$, then because $\lim (a_n+a_{n+1}) = 0$, for large $n$ we have $a_{n_i+1}\geq -a_{n_i}-1$, and so $a_{n_i+1}$ goes to $+\infty$ and we're done.
Suppose now that all subsequences are bounded, say lying in $[-A,A]$ for some finite positive $A$. There have to be convergent subsequences (Baby Rudin 2.41). If a subsequence converges to a positive value we're done. Suppose that a subsequence $a_{n_i}$ converges to a value $a < 0$: then because $\lim (a_n+a_{n+1}) = 0$ we must have $a_{n_i+1}$ converging to $-a > 0$ and we're done.
We are left with the possibility that the only limit of subsequences is $0$. In that case, there can be no point of accumulation in $[-A,-\epsilon]$ or $[\epsilon,A]$ for any $\epsilon>0$, and so all but a finite number of $a_n$'s lie outside those intervals, and $a_n\to 0$.