If $f_n \to f$ uniformly from $[a,b] \to \Bbb R$, every $f_n$ is continuous and each $f_n$ has a zero, then $f$ has a zero. 
So every $f_n : [a,b] \to \Bbb R$ is a sequence of continuous functions and $f_n \to f$ uniformly. If each $f_n$ has a zero, then we have to show that $f$ also has a zero.

To prove this first I list out the definitions I am gonna use:


*

*Uniform continuity of every $f_n$. (since $[a,b]$ is given compact.)


$\forall \epsilon \gt 0, \exists \delta_n \gt 0$ such that $\forall x,y \in [a,b]$ & $|x-y| \lt \delta_n$ we have $|f_n(x)-f_n(y)| \lt \epsilon$ $\forall n \in \Bbb N.$ 


*Uniform convergence of $f_n$.


$\forall \epsilon \gt 0, \exists N \in \Bbb N$ such that if $n \ge N$ then $|f_n(x)-f(x)| \lt \epsilon$ $\forall x \in [a,b]$. 

Proof: Let $c_n$ be zero of $f_n$. Then $f_n(c_n)=0 \; \forall n\in \Bbb N.$
For a given $\epsilon \gt 0 \; \exists N \in \Bbb N$ such that if $n \ge N$ then $|f_n(c_n)-f(c_n)| \lt \epsilon \implies |0-f(c_n)| \lt \epsilon.$ (Using definition 2)
This means that $f(c_n)$ is sequence of real numbers converging to zero. Hence there exists $c \in [a,b]$ such that $f(c)=0.$

Now I am particularly suspicious at the last step! Somehow I am not content with it. Is it correct? Also I haven't used definition 1. Could it be key here in the last step?
 A: Since $f_n \to f$ uniformly and the $f_n$ are continuous, so too is $f$ continuous.
Now, let's try and adapt your partial solution. For each $n \in \mathbb{N}$, let $c_n \in [a,b]$ be a zero of $f_n$ (which exists by hypothesis). Since $[a,b]$ is compact, there must be some convergent subsequence $c_{n_k}$ of $c_n$; call $c \in [a,b]$ its limit. Then:
$$|f(c)-f_{n_k}(c_{n_k})| \leq |f(c) - f(c_{n_k})| + |f(c_{n_k}) - f_{n_k}(c_{n_k})|$$
As $k \to \infty$, the first can be made as small as desired, because $f$ is continuous (and $c_{n_k} \to c$); and so too with the second term, because the convergence $f_n \to f$ is uniform.
This means $f_{n_k}(c_{n_k}) \to f(c)$, but since $f_{n_k}(c_{n_k}) = 0$ for all $k$, it follows that $f(c)=0$. In other words, we've shown a slightly stronger property:

For each $n \in \mathbb{N}$, let $Z_n=\{x \in [a,b]\,|\, f_n(x) = 0$}. Consider $$Z = \{x \in [a,b]\,|\,\forall \text{ neighborhood $V$ of $x$},\,\forall k\in\mathbb{N},\, \exists m\geq k, \, V\cap Z_m \neq \emptyset\} $$
  Then $f(Z)=\{0\}$.

A 'cute' way to characterize $Z$ is by
$$Z = \bigcap_{n\geq 1}{\left(\overline{\bigcup_{k\geq n}Z_k}\right)}$$
